description:
Attempts to open a shader library for the given shader platform & name within the provided directory.
The new library if one exists and can be constructed, otherwise nil.

code: virtual FRHIShaderLibraryRef RHICreateShaderLibrary ( EShaderPlatform Platform, [FString](API\Runtime\Core\Containers\FString) const & FilePath, [FString](API\Runtime\Core\Containers\FString) const & Name )


module: RHI

code: virtual FRHIShaderLibraryRef RHICreateShaderLibrary_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, EShaderPlatform Platform, [FString](API\Runtime\Core\Containers\FString) FilePath, [FString](API\Runtime\Core\Containers\FString) Name )


description: SRV / UAV creation functions.

code: FShaderResourceViewRHIRef RHICreateShaderResourceView ( class [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIViewableResource](API\Runtime\RHI\FRHIViewableResource) * Resource, [FRHIViewDesc](API\Runtime\RHI\FRHIViewDesc) const & ViewDesc )


description:
Creates a staging buffer, which is memory visible to the cpu without any locking.
The new staging-buffer.


description: Creates an RHI texture resource.

code: FTextureRHIRef RHICreateTexture ( const [FRHITextureCreateDesc](API\Runtime\RHI\FRHITextureCreateDesc) & CreateDesc )


description: Create a texture reference. InReferencedTexture can be null.

code: virtual FTextureReferenceRHIRef RHICreateTextureReference ( [FRHITexture](API\Runtime\RHI\FRHITexture) * InReferencedTexture )


description: Create a new transient resource allocator


code: virtual FTextureRHIRef RHICreateTexture_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, const [FRHITextureCreateDesc](API\Runtime\RHI\FRHITextureCreateDesc) & CreateDesc )


code: virtual void RHICreateTransition ( [FRHITransition](API\Runtime\RHI\FRHITransition) * Transition, const [FRHITransitionCreateInfo](API\Runtime\RHI\FRHITransitionCreateInfo) & CreateInfo )


description:
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
The new uniform buffer.

code: FUniformBufferRHIRef RHICreateUniformBuffer ( const void * Contents, const [FRHIUniformBufferLayout](API\Runtime\RHI\FRHIUniformBufferLayout) * Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation )


code: FUnorderedAccessViewRHIRef RHICreateUnorderedAccessView ( class [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIViewableResource](API\Runtime\RHI\FRHIViewableResource) * Resource, [FRHIViewDesc](API\Runtime\RHI\FRHIViewDesc) const & ViewDesc )


description: FlushType: Wait RHI Thread.

code: FVertexDeclarationRHIRef RHICreateVertexDeclaration ( const FVertexDeclarationElementList & Elements )


description: FlushType: Wait RHI Thread.

code: FVertexShaderRHIRef RHICreateVertexShader ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const uint8 > Code, const [FSHAHash](API\Runtime\Core\Misc\FSHAHash) & Hash )


description: Must be called from the main thread. FlushType: Thread safe

code: FViewportRHIRef RHICreateViewport ( void * WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat )


code: virtual void RHIEndMultiUpdateTexture3D ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [TArray](API\Runtime\Core\Containers\TArray)< [FUpdateTexture3DData](API\Runtime\RHI\FUpdateTexture3DData) > & UpdateDataArray )


code: virtual void RHIEndOcclusionQueryBatch_TopOfPipe ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList )


code: virtual void RHIEndRenderQuery_TopOfPipe ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery) * RenderQuery )


code: virtual void RHIEndUpdateTexture3D ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FUpdateTexture3DData](API\Runtime\RHI\FUpdateTexture3DData) & UpdateData )


description: Finalizes an async reallocation request. If bBlockUntilCompleted is false, it will only poll the status and finalize if the reallocation has completed.

code: ETextureReallocationStatus RHIFinalizeAsyncReallocateTexture2D ( FRHITexture2D * Texture2D, bool bBlockUntilCompleted )


description: Called by parallel worker threads, and the RHI thread. Platform implementations must be thread safe.

code: [IRHIPlatformCommandList](API\Runtime\RHI\IRHIPlatformCommandList) * RHIFinalizeContext ( [IRHIComputeContext](API\Runtime\RHI\IRHIComputeContext) * Context )


description: Flush driver resources. Typically called when switching contexts/threads FlushType: Flush RHI Thread

code: void RHIFlushResources()


description: Generates mip maps for a texture.

code: virtual void RHIGenerateMips ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture )


description:
Retrieve available screen resolutions.
bool true if successfully filled the array

code: bool RHIGetAvailableResolutions ( FScreenResolutionArray & Resolutions, bool bIgnoreRefreshRate )


description: Return what colour space the viewport is in. Used for HDR displays.

code: virtual EColorSpaceAndEOTF RHIGetColorSpace ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport )


description: Called by parallel worker threads, and the render thread. Platform implementations must be thread safe.

code: [IRHIComputeContext](API\Runtime\RHI\IRHIComputeContext) * RHIGetCommandContext ( ERHIPipeline Pipeline, [FRHIGPUMask](API\Runtime\RHI\FRHIGPUMask) GPUMask )


description: FlushType: Thread safe.

code: virtual [IRHIComputeContext](API\Runtime\RHI\IRHIComputeContext) * RHIGetDefaultAsyncComputeContext()


description: FlushType: Thread safe.


code: virtual void RHIGetDisplaysInformation ( FDisplayInformationArray & OutDisplayInformation )


description: Returns the total GPU time taken to render the last frame. Same metric asFPlatformTime::Cycles().

code: uint32 RHIGetGPUFrameCycles ( uint32 GPUIndex )


code: virtual uint32 RHIGetHTilePlatformConfig ( uint32 DepthWidth, uint32 DepthHeight ) const


description: Gets the minimum alignment (in bytes) required for creating a shader resource view on a buffer-backed resource.

code: virtual uint64 RHIGetMinimumAlignmentForBufferBackedSRV ( EPixelFormat Format )


description: Provides access to the native command buffer. Generally this should be avoided but is useful for third party plugins.

code: virtual void * RHIGetNativeCommandBuffer()


description: Provides access to the native compute command queue. Generally this should be avoided but is useful for third party plugins.

code: virtual void * RHIGetNativeComputeQueue()


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

code: void * RHIGetNativeDevice()


description: Provides access to the native graphics command queue. Generally this should be avoided but is useful for third party plugins.

code: virtual void * RHIGetNativeGraphicsQueue()


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

code: void * RHIGetNativeInstance()


code: virtual void * RHIGetNativePhysicalDevice()


description: CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread. It is need not be threadsafe on platforms that do not support or aren't using an RHIThread FlushType: Thread safe, but varies by RHI

code: bool RHIGetRenderQueryResult ( [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery) * RenderQuery, uint64 & OutResult, bool bWait, uint32 GPUIndex )


description: Returns a supported screen resolution that most closely matches input.

code: void RHIGetSupportedResolution ( uint32 & Width, uint32 & Height )


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

code: void RHIGetTextureMemoryStats ( [FTextureMemoryStats](API\Runtime\RHI\FTextureMemoryStats) & OutStats )


description:
Fills a texture with to visualize the texture pool memory.
true if successful, false otherwise

code: bool RHIGetTextureMemoryVisualizeData ( [FColor](API\Runtime\Core\Math\FColor) * TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize )


description: With RHI thread, this is the current backbuffer from the perspective of the render thread. FlushType: Thread safe

code: FTexture2DRHIRef RHIGetViewportBackBuffer ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport )


code: virtual FUnorderedAccessViewRHIRef RHIGetViewportBackBufferUAV ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * ViewportRHI )


description: FlushType: Thread safe.

code: virtual uint32 RHIGetViewportNextPresentGPUIndex ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport )


code: virtual void RHIHandleDisplayChange()


code: virtual bool RHIIncludeOptionalFlushes() const


description: FlushType: Flush Immediate.

code: virtual bool RHIIsRenderingSuspended()


code: virtual void * RHILockBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer, uint32 Offset, uint32 Size, EResourceLockMode LockMode )


description:
Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall.  This function requires that you have issued an CopyToStagingBuffer invocation and verified that theFRHIGPUFencehas been signaled before calling.
A pointer to the data starting at 'Offset' and of length 'SizeRHI' from 'StagingBuffer', or nullptr when there is an error.

code: virtual void * RHILockStagingBuffer ( [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer) * StagingBuffer, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * Fence, uint32 Offset, uint32 SizeRHI )


code: virtual void * RHILockBufferMGPU ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer, uint32 GPUIndex, uint32 Offset, uint32 Size, EResourceLockMode LockMode )


description:
Locks an RHI texture's mip-map for read/write operations on the CPU
pointer to the CPU accessible resource data

code: void * RHILockTexture2D ( FRHITexture2D * Texture, uint32 MipIndex, EResourceLockMode LockMode, uint32 & DestStride, bool bLockWithinMiptail, uint64 * OutLockedByteCount )


code: void * RHILockTexture2DArray ( FRHITexture2DArray * Texture, uint32 TextureIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 & DestStride, bool bLockWithinMiptail )


code: void * RHILockTextureCubeFace ( FRHITextureCube * Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 & DestStride, bool bLockWithinMiptail )


code: virtual void * RHILockTextureCubeFace_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITextureCube * Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 & DestStride, bool bLockWithinMiptail )


description: Watch out for OutData to be 0 (can happen on DXGI_ERROR_DEVICE_REMOVED), don't call RHIUnmapStagingSurface in that case.

code: void RHIMapStagingSurface ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * Fence, void *& OutData, int32 & OutWidth, int32 & OutHeight, uint32 GPUIndex )


code: virtual void RHIMapStagingSurface_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, uint32 GPUIndex, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * Fence, void *& OutData, int32 & OutWidth, int32 & OutHeight )


description: Check if PSO Initializers are the same used during PSO Precaching (only compare data relevant for the RHI specific PSO)

code: virtual bool RHIMatchPrecachePSOInitializers ( const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & LHS, const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & RHS )


description: Called once per frame just before deferred deletion inFRHIResource::FlushPendingDeletes


description: Return preferred pixel format if given format is unsupported.

code: virtual EPixelFormat RHIPreferredPixelFormatHint ( EPixelFormat PreferredPixelFormat )


description: FlushType: Flush Immediate (seems wrong)

code: void RHIRead3DSurfaceFloatData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, FIntPoint ZMinMax, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData )


code: virtual void RHIRead3DSurfaceFloatData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, FIntPoint ZMinMax, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData, [FReadSurfaceDataFlags](API\Runtime\RHI\FReadSurfaceDataFlags) InFlags )


description: Default fallback; will not work for non-8-bit surfaces and it's extremely slow.

code: virtual void RHIReadSurfaceData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FLinearColor](API\Runtime\Core\Math\FLinearColor) > & OutData, [FReadSurfaceDataFlags](API\Runtime\RHI\FReadSurfaceDataFlags) InFlags )


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

code: void RHIReadSurfaceData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FColor](API\Runtime\Core\Math\FColor) > & OutData, [FReadSurfaceDataFlags](API\Runtime\RHI\FReadSurfaceDataFlags) InFlags )


code: virtual void RHIReadSurfaceFloatData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData, [FReadSurfaceDataFlags](API\Runtime\RHI\FReadSurfaceDataFlags) InFlags )


code: void RHIReadSurfaceFloatData ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex )


code: virtual void RHIReadSurfaceFloatData_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData, [FReadSurfaceDataFlags](API\Runtime\RHI\FReadSurfaceDataFlags) Flags )


code: virtual void RHIReadSurfaceFloatData_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, FIntRect Rect, [TArray](API\Runtime\Core\Containers\TArray)< [FFloat16Color](API\Runtime\Core\Math\FFloat16Color) > & OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex )


description: FlushType: Flush RHI Thread.

code: void RHIReleaseThreadOwnership()


code: virtual bool RHIRequiresComputeGenerateMips() const


code: virtual void RHIReleaseTransition ( [FRHITransition](API\Runtime\RHI\FRHITransition) * Transition )


description: Must be called from the main thread. FlushType: Thread safe

code: void RHIResizeViewport ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen )


code: virtual void RHIResizeViewport ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat )


description: FlushType: Thread safe.

code: virtual void RHIResumeRendering()


description: Operations to suspend title rendering and yield control to the system FlushType: Thread safe

code: virtual void RHISuspendRendering()


code: void RHITick ( float DeltaTime )


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

code: virtual void RHITransferBufferUnderlyingResource ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * DestBuffer, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * SrcBuffer )


description: FlushType: Flush RHI Thread.

code: virtual void RHIUnlockBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer )


description: FlushType: Flush RHI Thread.

code: virtual void RHIUnlockBufferMGPU ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer, uint32 GPUIndex )


description: Unlock a staging buffer previously locked with RHILockStagingBuffer.

code: virtual void RHIUnlockStagingBuffer ( [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer) * StagingBuffer )


description: Called by the RHI thread.

code: void RHISubmitCommandLists ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [IRHIPlatformCommandList](API\Runtime\RHI\IRHIPlatformCommandList) * > CommandLists, bool bFlushResources )


description: Kicks the current frame and makes sure GPU is actively working on them FlushType: Flush Immediate (copied from RHIBlockUntilGPUIdle)


description: Unlocks a previously locked RHI texture resource

code: void RHIUnlockTexture2D ( FRHITexture2D * Texture, uint32 MipIndex, bool bLockWithinMiptail )


code: void RHIUnlockTexture2DArray ( FRHITexture2DArray * Texture, uint32 TextureIndex, uint32 MipIndex, bool bLockWithinMiptail )


code: void RHIUnlockTextureCubeFace ( FRHITextureCube * Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail )


code: virtual void RHIUnlockTextureCubeFace_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITextureCube * Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail )


description: Call after a succesfulRHIMapStagingSurface()call

code: void RHIUnmapStagingSurface ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, uint32 GPUIndex )


code: virtual void RHIUnmapStagingSurface_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, uint32 GPUIndex )


description: Updates a region of a 2D texture from GPU memory provided by the given buffer (may not be implemented on every platform)

code: virtual void RHIUpdateFromBufferTexture2D ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, FRHITexture2D * Texture, uint32 MipIndex, const struct [FUpdateTextureRegion2D](API\Runtime\RHI\FUpdateTextureRegion2D) & UpdateRegion, uint32 SourcePitch, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer, uint32 BufferOffset )


description: Updates a region of a 2D texture from system memory

code: void RHIUpdateTexture2D ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, FRHITexture2D * Texture, uint32 MipIndex, const struct [FUpdateTextureRegion2D](API\Runtime\RHI\FUpdateTextureRegion2D) & UpdateRegion, uint32 SourcePitch, const uint8 * SourceData )


description: Updates a region of a 3D texture from system memory

code: void RHIUpdateTexture3D ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, FRHITexture3D * Texture, uint32 MipIndex, const struct [FUpdateTextureRegion3D](API\Runtime\RHI\FUpdateTextureRegion3D) & UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 * SourceData )


code: virtual void RHIUpdateTextureReference ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHITextureReference](API\Runtime\RHI\FRHITextureReference) * TextureRef, [FRHITexture](API\Runtime\RHI\FRHITexture) * NewTexture )


code: void RHIUpdateUniformBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) * UniformBufferRHI, const void * Contents )


description: Function that is used to allocate / free space used for virtual texture mip levels. Make sure you also update the visible mip levels.

code: virtual void RHIVirtualTextureSetFirstMipInMemory ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2D * Texture, uint32 FirstMip )


description: Function that can be used to update which is the first visible mip to the GPU.

code: virtual void RHIVirtualTextureSetFirstMipVisible ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2D * Texture, uint32 FirstMip )


code: virtual [FRHIFlipDetails](API\Runtime\RHI\FRHIFlipDetails) RHIWaitForFlip ( double TimeoutInSeconds )


description: Called by the thread recording an RHI command list (via RHICmdList.WriteGPUFence()). Allows the platform RHI to perform operations on the GPU fence at the top-of-pipe. Default implementation just enqueues an RHI command to call IRHIComputeContext::WriteGPUFence().

code: virtual void RHIWriteGPUFence_TopOfPipe ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * FenceRHI )


description: 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).

code: void Shutdown()


description: Unlock a staging buffer previously locked with LockStagingBuffer_RenderThread.

code: virtual void UnlockStagingBuffer_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer) * StagingBuffer )


code: virtual void UnlockBuffer_BottomOfPipe ( class [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * Buffer )


code: virtual void UnlockTexture2DArray_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2DArray * Texture, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail )


code: virtual void UnlockTexture2D_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2D * Texture, uint32 MipIndex, bool bLockWithinMiptail, bool bNeedsDefaultRHIFlush )


description: Declare a virtual destructor, so the dynamic RHI can be deleted without knowing its type.

code: virtual ~FDynamicRHI()


description: FlushType: Thread safe.

code: virtual FComputePipelineStateRHIRef RHICreateComputePipelineState ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader )


className: FDynamicRHI

description: The interface which is implemented by the dynamically bound RHI.

code: class FDynamicRHI

PixelFormatBlockBytes

type: TArray< uint32 ...


description:
Creates a graphics pipeline state object (PSO) that represents a complete gpu pipeline for rendering. This function should be considered expensive to call at runtime and may cause hitches as pipelines are compiled.
FGraphicsPipelineStateRHIRef that can be bound for rendering; nullptr if the compilation fails. CAUTION: On certain RHI implementations (eg, ones that do not support runtime compilation) a compilation failure is a Fatal error and this function will not return. 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 withFScopedRHIThreadStallerStallRHIThread(FRHICommandListExecutor::GetImmediateCommandList()); when the call is from the render thread

code: virtual FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState ( const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & Initializer )


className: FDynamicRHIPSOFallback

description: Dynamic RHI for RHIs that do not support real Graphics/Compute Pipelines.

code: class FDynamicRHIPSOFallback : public [FDynamicRHI](API\Runtime\RHI\FDynamicRHI)


code: template<typename [TFunction](API\Runtime\Core\GenericPlatform\TFunction)> void EnumerateSubresources ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction) Function ) const


code: void GetAccess ( ERHIAccess & DepthAccess, ERHIAccess & StencilAccess ) const


description: Returns a newFExclusiveDepthStencilto be used to transition a depth stencil resource to readable. If the depth or stencil is already in a readable state, that particular component is returned as Nop, to avoid unnecessary subresource transitions.


code: bool IsValid ( [FExclusiveDepthStencil](API\Runtime\RHI\FExclusiveDepthStencil) & Current ) const


className: MaxIndex

code: static const uint32 MaxIndex = 4;


code: bool operator== ( const [FExclusiveDepthStencil](API\Runtime\RHI\FExclusiveDepthStencil) & rhs ) const


code: bool operator!= ( const [FExclusiveDepthStencil](API\Runtime\RHI\FExclusiveDepthStencil) & RHS ) const


code: void SetDepthStencilWrite ( bool bDepth, bool bStencil )


className: Type

code: enum Type { DepthNop = 0x00, DepthRead = 0x01, DepthWrite = 0x02, DepthMask = 0x0f, StencilNop = 0x00, StencilRead = 0x10, StencilWrite = 0x20, StencilMask = 0xf0, DepthNop_StencilNop = DepthNop + StencilNop, DepthRead_StencilNop = DepthRead + StencilNop, DepthWrite_StencilNop = DepthWrite + StencilNop, DepthNop_StencilRead = DepthNop + StencilRead, DepthRead_StencilRead = DepthRead + StencilRead, DepthWrite_StencilRead = DepthWrite + StencilRead, DepthNop_StencilWrite = DepthNop + StencilWrite, DepthRead_StencilWrite = DepthRead + StencilWrite, DepthWrite_StencilWrite = DepthWrite + StencilWrite, }


description: Constructor

code: FExclusiveDepthStencil ( [Type](API\Runtime\RHI\FExclusiveDepthStencil\Type) InValue )


className: FExclusiveDepthStencil

code: class FExclusiveDepthStencil


code: static const ERHIBindlessSupport GetBindlessSupport ( const FStaticShaderPlatform Platform )


code: static const bool GetCompileSignalProcessingPipeline ( const FStaticShaderPlatform Platform )


code: static const uint32 GetEnablesHLSL2021ByDefault ( const FStaticShaderPlatform Platform )


code: static [FText](API\Runtime\Core\Internationalization\FText) GetFriendlyName ( const FStaticShaderPlatform Platform )


code: static const bool GetIsAndroidOpenGLES ( const FStaticShaderPlatform Platform )


code: static const bool GetIsConsole ( const FStaticShaderPlatform Platform )


code: static const bool GetIsHlslcc ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageD3D ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageMetal ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageNintendo ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageOpenGL ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageSony ( const FStaticShaderPlatform Platform )


code: static const bool GetIsLanguageVulkan ( const FStaticShaderPlatform Platform )


code: static const bool GetIsMetalMRT ( const FStaticShaderPlatform Platform )


code: static const bool GetIsMobile ( const FStaticShaderPlatform Platform )


code: static const bool GetIsPC ( const FStaticShaderPlatform Platform )


code: static const bool GetIsPreviewPlatform ( const FStaticShaderPlatform Platform )


code: static const bool GetIsSPIRV ( const FStaticShaderPlatform Platform )


code: static const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) GetMaxFeatureLevel ( const FStaticShaderPlatform Platform )


code: static const uint32 GetMaximumWaveSize ( const FStaticShaderPlatform Platform )


code: static const uint32 GetMaxMeshShaderThreadGroupSize ( const FStaticShaderPlatform Platform )


code: static const uint32 GetMinimumWaveSize ( const FStaticShaderPlatform Platform )


code: static const [FName](API\Runtime\Core\UObject\FName) GetName ( const FStaticShaderPlatform Platform )


code: static const bool GetNeedsExtraMobileFrames ( const FStaticShaderPlatform Platform )


code: static const bool GetNeedsOfflineCompiler ( const FStaticShaderPlatform Platform )


code: static const uint32 GetNumberOfComputeThreads ( const FStaticShaderPlatform Platform )


code: static const bool GetOverrideFMaterial_NeedsGBufferEnabled ( const FStaticShaderPlatform Platform )


code: static const EShaderPlatform GetPreviewShaderPlatformParent ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresDisableForwardLocalLights ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresExplicit128bitRT ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresGeneratePrevTransformBuffer ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresRenderTargetDuringRaster ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresReverseCullingOnMobile ( const FStaticShaderPlatform Platform )


code: static const bool GetRequiresVendorExtensionsForAtomics ( const FStaticShaderPlatform Platform )


code: static const [FName](API\Runtime\Core\UObject\FName) GetShaderFormat ( const FStaticShaderPlatform Platform )


code: static const EShaderPlatform GetShaderPlatformFromName ( const [FName](API\Runtime\Core\UObject\FName) ShaderPlatformName )


code: static uint32 GetShaderPlatformPropertiesHash ( const FStaticShaderPlatform Platform )


code: static const bool GetSupports4ComponentUAVReadWrite ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsAnisotropicMaterials ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsArrayTextureCompression ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsAsyncPipelineCompilation ( const FStaticShaderPlatform Platform )


description: Deprecated* You must use GetBindlessSupport instead.

code: static const bool GetSupportsBindless ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsCapsuleShadows ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsByteBufferComputeShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportSceneDataCompressedTransforms ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsClipDistance ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsConservativeRasterization ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsComputeFramework ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDebugViewShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDiaphragmDOF ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDistanceFields ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDOFHybridScattering ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDualSourceBlending ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsDxc ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsFFTBloom ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsGen5TemporalAA ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsGPUScene ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsHairStrandGeometry ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsHighEndRayTracingReflections ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsHZBOcclusion ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsIndexBufferUAVs ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsInlineRayTracing ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsInstancedStereo ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsIntrinsicWaveOnce ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsLumenGI ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsManualVertexFetch ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsMeshShadersWithClipDistance ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsMeshShadersTier0 ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsMeshShadersTier1 ( const FStaticShaderPlatform Platform )


description: Deprecated* This function is no longer in use and will be removed. Please use GetSupportsDistanceFields instead

code: static const bool GetSupportsMobileDistanceField ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsMobileMultiView ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsMSAA ( const FStaticShaderPlatform Platform )


code: static const ERHIFeatureSupport GetSupportsMultiViewport ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsNanite ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsNNEShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsOIT ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsPathTracing ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsPercentageCloserShadows ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsPerPixelDBufferMask ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsPipelineShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsPrimitiveShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracingCallableShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracingProceduralPrimitive ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracingTraversalStatistics ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracingIndirectInstanceData ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracing ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRayTracingShaders ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRenderTargetWriteMask ( const FStaticShaderPlatform Platform )


code: static const ERHIFeatureSupport GetSupportsRealTypes ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRGBColorBuffer ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsROV ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsRTIndexFromVS ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsSSDIndirect ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsSwapchainUAVs ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsTemporalHistoryUpscale ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsUInt64ImageAtomics ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsVariableRateShading ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsVertexShaderLayer ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsVolumeTextureAtomics ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsWaterIndirectDraw ( const FStaticShaderPlatform Platform )


code: static const ERHIFeatureSupport GetSupportsWaveOperations ( const FStaticShaderPlatform Platform )


code: static const bool GetSupportsWavePermute ( const FStaticShaderPlatform Platform )


code: static const bool GetWaterUsesSimpleForwardShading ( const FStaticShaderPlatform Platform )


code: static const bool GetTargetsTiledGPU ( const FStaticShaderPlatform Platform )


code: static const bool IsValid ( const FStaticShaderPlatform Platform )


className: PropertyToShaderPlatformFunctionMap

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const FStaticShaderPlatformPlatform)> > PropertyToShaderPlatformFunctionMap;


description: RHI implementations must be thread-safe and must correctly handle being called before RHIInsertFence if an RHI thread is active.

code: virtual bool Poll() const


code: FGenericRHIGPUFence ( [FName](API\Runtime\Core\UObject\FName) InName )


className: FGenericRHIGPUFence

description: Generic implementation ofFRHIGPUFence.

code: class FGenericRHIGPUFence : public [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence)


description: For debugging, may not be implemented on all RHIs.

code: virtual uint64 GetGPUSizeBytes() const


className: FGenericDataDrivenShaderPlatformInfo

description: No constructors are accessible with public or protected access.


code: virtual void * Lock ( uint32 Offset, uint32 NumBytes )


className: FGenericRHIStagingBuffer

code: class FGenericRHIStagingBuffer : public [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer)

ShadowBuffer

type: FBufferRHIRef


code: namespace operator ERHIFeatureLevel { operator ERHIFeatureLevel::Type() const }


code: bool operator== ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: bool operator> ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: bool operator>= ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: bool operator< ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: bool operator<= ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: bool operator!= ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) Other ) const


code: FGenericStaticFeatureLevel ( const [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel )


code: FGenericStaticFeatureLevel ( const [TEnumAsByte](API\Runtime\Core\Containers\TEnumAsByte)< [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) > InFeatureLevel )


className: FGenericStaticFeatureLevel

code: struct FGenericStaticFeatureLevel


code: bool operator== ( const EShaderPlatform Other ) const


code: bool operator!= ( const EShaderPlatform Other ) const


code: FGenericStaticShaderPlatform ( const EShaderPlatform InPlatform )


className: FGenericStaticShaderPlatform

code: struct FGenericStaticShaderPlatform


description:
Allocate physical memory.
Pointer to allocated memory

code: virtual void * Allocate ( int64 AllocationSize, int32 Alignment, [TStatId](API\Runtime\Core\Stats\TStatId) InStat, bool bAllowFailure )


description:
Marks the specified chunk as 'allocated' and updates tracking variables. Splits the chunk if only a portion of it is allocated.
The memory chunk that was allocated (the original chunk could've been split).

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * AllocateChunk ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreeChunk, int64 AllocationSize, bool bAsync, bool bDoValidation )


description: Performs a benchmark of the allocator and outputs the result to the log.

code: void Benchmark ( int32 MinChunkSize, int32 MaxChunkSize, float FreeRatio, float LockRatio, bool bFullDefrag, bool bSaveImages, const TCHAR * Filename )


description: Blocks the calling thread until the specified request has been completed.

code: void BlockOnAsyncReallocation ( [FAsyncReallocationRequest](API\Runtime\RHI\FAsyncReallocationRequest) * Request )


description: Blocks the calling thread until the current sync fence has been completed.

code: void BlockOnFence()


description: Blocks the calling thread until the specified sync index has been completed.

code: void BlockOnSyncIndex ( uint32 SyncIndex )


description: Cancels the specified reallocation request. Note that the allocator doesn't keep track of requests after it's been completed, so the user must provide the current base address. This may not match any of the addresses in the (old) request since the memory may have been relocated since then.

code: void CancelAsyncReallocation ( [FAsyncReallocationRequest](API\Runtime\RHI\FAsyncReallocationRequest) * Request, const void * CurrentBaseAddress )


description:
Returns true if the specified chunk is allowed to relocate at this time. Will also callPlatformCanRelocate().
true if the allocation can be relocated at this time

code: bool CanRelocate ( const [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk ) const


description: Checks the internal state for errors. (Slow)

code: void CheckForErrors ( bool bCheckSortedFreeList )


description: Merges any adjacent free chunks into the specified free chunk. Doesn't affect the free-list sort order.

code: void Coalesce ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreedChunk )


description: Fully defragments the memory and blocks until it's done.

code: void DefragmentMemory ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats )


description: Dump allocation information.

code: void DumpAllocs ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) & Ar )


className: EMemoryElementType

code: enum EMemoryElementType { MET_Allocated, MET_Free, MET_Locked, MET_Relocating, MET_Resizing, MET_Resized, MET_Max, }


description:
Defrag helper function. Checks if the specified allocation fits within the adjacent free chunk(s).
Returns 'UsedChunk' if it fits the criteria, otherwise nullptr

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FindAdjacent ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * UsedChunk, bool bAnyChunkType )


description:
Searches for an allocated chunk that would fit within the specified free chunk. The allocated chunk must be adjacent to a free chunk and have a larger base address than 'FreeChunk'. Starts searching from the end of the texture pool.
Pointer to a suitable chunk, or nullptr

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FindAdjacentToHole ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreeChunk )


description:
Searches for an allocated chunk that would fit within the specified free chunk. Any chunk that fits and has a larger base address than 'FreeChunk' is accepted. Starts searching from the end of the texture pool.
Pointer to a suitable chunk, or nullptr

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FindAny ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreeChunk )


description:
Blocks the calling thread until all relocations and reallocations that were initiated byTick()have completed.
true if there were any relocations in progress before this call

code: bool FinishAllRelocations()


description: Comparison function forSort(), etc, based on increasing base address.

code: static uint64 Compare &40; const FMemoryChunk &42; A, const FMemoryChunk &42; B &41;


description: Returns the number of uint8s that can be allocated from this chunk.

code: int64 GetAvailableSize&40;&41; const


description: Returns the current size (in uint8s), or the final size if it has a reallocating request.

code: int64 GetFinalSize&40;&41; const


description: Returns the relocation sync index.

code: uint32 GetSyncIndex&40;&41; const


description: Returns true if the Chunk is being asynchronously relocated due to reallocation or defrag.

code: bool IsRelocating&40;&41; const


description: Inserts this chunk after the passed in one.

code: void Link &40; FMemoryChunk &42;& ChunkToInsertAfter &41;


description: Inserts this chunk at the head of the free chunk list. If bMaintainSortOrder is true, insert-sort this chunk into the free chunk list.

code: void LinkFree &40; FMemoryChunk &42; FirstFreeChunkToSearch &41;


description: Sets the relocation sync index.

code: void SetSyncIndex &40; uint32 InSyncIndex, int64 InSyncSize &41;


description: Removes itself for linked list.

code: void Unlink&40;&41;


description: Unlinks/ removes the chunk from the linked lists it belongs to.


description: Private constructor.

code: FMemoryChunk &40; uint8 &42; InBase, int64 InSize, FGPUDefragAllocator & InBestFitAllocator, FMemoryChunk &42;& ChunkToInsertAfter, TStatId InStat &41;


description: Removes itself for linked "free" list. Maint32ains the free-list order.

code: void UnlinkFree&40;&41;


className: FMemoryChunk

description: Contains information of a single allocation or free block.

code: class FMemoryChunk

Base

type: uint8 *

description: Base of chunk.

BestFitAllocator

type: FGPUDefragAlloc...

description: Allows access to FBestFitAllocator members such as FirstChunk, FirstFreeChunk and LastChunk.

bIsAvailable

type: bool

description: Whether the chunk is available.

DefragCounter

description: Defrag counter. If this chunk failed to defrag, it won't try it again until the counter is 0.

LockCount

description: Whether the chunk has been locked.

NextChunk

type: FMemoryChunk&#...

description: Pointer to next chunk.

NextFreeChunk

description: Pointer to next free chunk.

PreviousChunk

description: Pointer to previous chunk.

PreviousFreeChunk

description: Pointer to previous free chunk.

Size

description: Size of chunk.

Stat

type: TStatId

description: Stat associated with this allocation

SyncIndex

description: SyncIndex that must be exceeded before accessing the data within this chunk.

SyncSize

description: Number of uint8s covered by the SyncIndex (starting from the beginning of the chunk).

UserPayload

type: void *

description: User payload, e.g. platform-specific texture Pointer. Only chunks with payload can be relocated.


code: FMemoryLayoutElement &40; int32 InSize, EMemoryElementType InType &41;


className: FMemoryLayoutElement

code: struct FMemoryLayoutElement

Type

type: EMemoryElementT...


description: Frees allocation associated with passed in pointer.

code: virtual void Free ( void * Pointer )


description: Marks the specified chunk as 'free' and updates tracking variables. CallsLinkFreeChunk()to coalesce adjacent free memory.

code: void FreeChunk ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk )


className: FRelocationStats

description: Container for allocator relocation stats.

code: struct FRelocationStats

LargestHoleSize

description: Size of the largest free consecutive memory region, before any relocations were made.

NumBytesDownShifted

description: Number of uint8s relocated by brute-force downshifting.

NumBytesRelocated

description: Number of uint8s relocated, in total.

NumHoles

description: Number of disjoint32 free memory regions, before any relocations were made.

NumLockedChunks

description: Number of chunks that are locked and cannot be relocated

NumRelocations

description: Number of relocations initiated.


className: FRequestNode

code: typedef [TDoubleLinkedList](API\Runtime\Core\Containers\TDoubleLinkedList)< [FAsyncReallocationRequest](API\Runtime\RHI\FAsyncReallocationRequest) * >::TDoubleLinkedListNode FRequestNode


className: FRequestList

code: typedef [TDoubleLinkedList](API\Runtime\Core\Containers\TDoubleLinkedList)< [FAsyncReallocationRequest](API\Runtime\RHI\FAsyncReallocationRequest) * > FRequestList


className: FSettings

description: Container for allocator settings.

code: struct FSettings

MaxDefragDownShift

description: Maximum number of uint8s to relocate during a partial defrag by brute-force downshifting.

MaxDefragRelocations

description: Maximum number of uint8s to relocate, in total, during a partial defrag.

OverlappedBandwidthScale

description: Amount of extra bandwidth used when doing overlapped relocations


description: Performs a full defrag and ignores all reallocation requests.

code: void FullDefragmentation ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats )


description:
Returns the amount of memory allocated for the specified address.
Number of bytes allocated

code: int64 GetAllocatedSize ( void * Pointer )


description: Returns the amount of time blocked by a platform fence since the beginning of the last call toTick(), in appCycles.

code: uint32 GetBlockedCycles() const


code: [EMemoryElementType](API\Runtime\RHI\FGPUDefragAllocator\EMemoryElementType) GetChunkType ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk ) const


description: Returns the sync index to be completed by the next call toFinishAllRelocations().

code: uint32 GetCurrentSyncIndex() const


description:
Scans the free chunks and returns the largest size you can allocate.
The largest size of all free chunks.

code: int32 GetLargestAvailableAllocation ( int32 * OutNumFreeChunks )


code: void GetMemoryLayout ( [TArray](API\Runtime\Core\Containers\TArray)< [FMemoryLayoutElement](API\Runtime\RHI\FGPUDefragAllocator\FMemoryLayoutElement) > & MemoryLayout )


description: Retrieves allocation stats.

code: virtual void GetMemoryStats ( int64 & OutAllocatedMemorySize, int64 & OutAvailableMemorySize, int64 & OutPendingMemoryAdjustment, int64 & OutPaddingWasteSize )


description: Returns the current allocator settings.

code: void GetSettings ( [FSettings](API\Runtime\RHI\FGPUDefragAllocator\FSettings) & OutSettings )


description:
Fills a texture with to visualize the texture pool memory.
true if successful, false otherwise

code: bool GetTextureMemoryVisualizeData ( [FColor](API\Runtime\Core\Math\FColor) * TextureData, int32 SizeX, int32 SizeY, int32 Pitch, const int32 PixelSize )


description: Returns the user payload for anFMemoryChunk

code: void * GetUserPayload ( const void * Pointer )


description:
Tries to immediately grow a memory chunk by moving the base address, without relocating any memory.
nullptr if it failed, otherwise the new grown chunk

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Grow ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk, int64 GrowAmount )


description: Returns whether we're in benchmark mode or not.

code: bool InBenchmarkMode() const


code: virtual void Initialize ( uint8 * InMemoryBase, int64 InMemorySize )


description: Initialize this allocator with a preallocated block of memory.

code: virtual void Initialize ( uint8 * InMemoryBase, int64 InMemorySize, int32 InAllocationAlignment )


description: Inserts a platform fence and updates the allocator sync index to match.

code: void InsertFence()


code: static bool IsAligned ( const volatile void * Ptr, const uint32 Alignment )


description: Returns whether allocator has been initialized.

code: bool IsInitialized()


code: bool IsValidPoolMemory ( const void * Pointer ) const


description: Frees the passed in chunk and coalesces adjacent free chunks into 'Chunk' if possible. Maint32ains the free-list order if bSortedFreeList is true.

code: void LinkFreeChunk ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk )


description: Locks anFMemoryChunk

code: virtual void Lock ( const void * Pointer )


description: Allocated memory in uint8s.

code: typedef int64 memsize_t


description: Performs a partial defrag by shifting down memory to fill holes, in a brute-force manner. Takes consideration to async reallocations, but processes the all memory in order.

code: void PartialDefragmentationDownshift ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, double StartTime )


description: Performs a partial defrag doing fast checks only. Adjacency and freelist walk.

code: void PartialDefragmentationFast ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, double StartTime )


description: Performs a partial defrag doing slow all chunk search to find used chunks to move that are surrounded by other used chunks That a freechunk walk won't find.

code: void PartialDefragmentationSlow ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, double StartTime )


description: Blocks the calling thread until all relocations initiated before the fence was added has been fully completed.

code: void PlatformBlockOnFence ( uint64 Fence )


description:
Allows each platform to decide whether an allocation can be relocated at this time.
true if the allocation can be relocated at this time

code: bool PlatformCanRelocate ( const void * Source, void * UserPayload ) const


description:
Inserts a fence to synchronize relocations. The fence can be blocked on at a later time to ensure that all relocations initiated so far has been fully completed.
New fence value

code: uint64 PlatformInsertFence()


description: Notifies the platform that an async reallocation request has been completed.

code: void PlatformNotifyReallocationFinished ( [FAsyncReallocationRequest](API\Runtime\RHI\FAsyncReallocationRequest) * FinishedRequest, void * UserPayload )


description: Copy memory from one location to another. If it returns false, the defragmentation process will assume the memory is not relocatable and keep it in place. Note: Source and destination may overlap.

code: void PlatformRelocate ( void * Dest, const void * Source, int64 Size, void * UserPayload )


description:
Tries to reallocate texture memory in-place (without relocating), by adjusting the base address of the allocation but keeping the end address the same.
New base address if it succeeded, otherwise nullptr

code: void * Reallocate ( void * OldBaseAddress, int64 NewSize )


code: void Relocate ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Dest, int64 DestOffset, const void * Source, int64 Size, void * UserPayload )


description: Performs a partial defrag while trying to process any pending async reallocation requests.

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * RelocateAllowed ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreeChunk, [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * UsedChunk )


description:
Initiates an async relocation of an allocated chunk into a free chunk. Takes potential reallocation request into account.
Next Free chunk to try to fill up

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * RelocateIntoFreeChunk ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * FreeChunk, [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * UsedChunk )


description: Sets new allocator settings.

code: void SetSettings ( const [FSettings](API\Runtime\RHI\FGPUDefragAllocator\FSettings) & InSettings )


description: Sets the user payload for anFMemoryChunk

code: void SetUserPayload ( const void * Pointer, void * UserPayload )


description: Sorts the freelist based on increasing base address.

code: void SortFreeList ( int32 & NumFreeChunks, int64 & LargestFreeChunk )


description: Split allocation into two, first chunk being used and second being available. Maint32ains the free-list order if bSortedFreeList is true.

code: void Split ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * BaseChunk, int64 FirstSize )


description:
Partially defragments the memory and tries to process all async reallocation requests at the same time. Call this once per frame.
Num bytes relocated.

code: virtual int32 Tick ( [FRelocationStats](API\Runtime\RHI\FGPUDefragAllocator\FRelocationStats) & Stats, bool bPanicDefrag )


description: Unlocks anFMemoryChunk

code: virtual void Unlock ( const void * Pointer )


description: Constructor, zero initializing all member variables

code: FGPUDefragAllocator()


description:
Immediately shrinks a memory chunk by moving the base address, without relocating any memory. Always succeeds.
The new shrunken chunk

code: [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Shrink ( [FMemoryChunk](API\Runtime\RHI\FGPUDefragAllocator\FMemoryChunk) * Chunk, int64 ShrinkAmount )


className: FGPUDefragAllocator

description: Simple best fit allocator, splitting and coalescing whenever/ wherever possible. NOT THREAD-SAFE.

code: class FGPUDefragAllocator

AllocationAlignment

description: Allocation alignment requirements.

AvailableMemorySize

description: Available memory in uint8s.

bBenchmarkMode

description: When in benchmark mode, don't call any Platform functions.

BlockedCycles

description: Amount of time blocked by a platform fence since the beginning of the last call toTick(), in appCycles.

CompletedSyncIndex

description: Sync index that has been completed, so far.

CurrentSyncIndex

description: Ever-increasing index to synchronize all relocations initiated byTick().

FirstChunk

description: Head of linked list of chunks. Sorted by memory address.

FirstFreeChunk

description: Head of linked list of free chunks. Unsorted.

FScopedGPUDefragLock

type: friend

LastChunk

description: Last chunk in the linked list of chunks (see FirstChunk).

MaxNumHoles

description: Maximum number of disjoint32 free memory regions we've had.

MemoryBase

description: Base of memory pool.

MemorySize

description: Total size of memory pool, in uint8s.

MinLargestHole

description: Smallest consecutive free memory region we've had.

NumCanceledAsyncRequests

description: Total number of async requests that has been canceled so far.

NumFinishedAsyncAllocations

description: Total number of async allocations successfully completed so far.

NumFinishedAsyncReallocations

description: Total number of async reallocations successfully completed so far.

NumRelocationsInProgress

description: Number of async relocations that are currently in progress.

PendingFreeChunks

type: TDoubleLinkedLi...

description: Chunks that couldn't be freed immediately because they were being relocated.

PendingMemoryAdjustment

description: Adjustment to allocated memory, pending all reallocations.

PlatformSyncFence

description: Platform-specific (GPU) fence, used for synchronizing the SyncIndex.

PointerToChunkMap

type: TMap< void *...

description: Mapping from Pointer to chunk for fast removal.

Settings

type: FSettings

description: Allocator settings that affect its behavior.

SynchronizationObject

type: FCriticalSectio...

TimeSpentInAllocator

type: double

description: Cumulative time spent in allocator.

TotalNumBytesRelocated

description: Total number of uint8s relocated so far.

TotalNumRelocations

description: Stats.


code: virtual [FGPUProfilerEventNode](API\Runtime\RHI\FGPUProfilerEventNode) * CreateEventNode ( const TCHAR * InName, [FGPUProfilerEventNode](API\Runtime\RHI\FGPUProfilerEventNode) * InParent )


code: virtual void PushEvent ( const TCHAR * Name, [FColor](API\Runtime\Core\Math\FColor) Color )


code: void RegisterGPUDispatch ( FIntVector GroupCount )


code: void RegisterGPUWork ( uint32 NumPrimitives, uint32 NumVertices )


code: void RegisterGPUWork ( uint32 NumDraws, uint32 NumPrimitives, uint32 NumVertices )


className: FGPUProfiler

description: Encapsulates GPU profiling logic and data. There's only one global instance of this struct so it should only contain global data, nothing specific to a frame.

code: struct FGPUProfiler

bLatchedGProfilingGPU

description: A latched version of GTriggerGPUProfile.

bLatchedGProfilingGPUHitches

description: A latched version of GTriggerGPUHitchProfile.

bOriginalGEmitDrawEvents

description: Original state of GEmitDrawEvents before it was overridden for profiling.

bPreviousLatchedGProfilingGPUHitches

description: The previous latched version of GTriggerGPUHitchProfile.

bTrackingEvents

description: Whether we are currently tracking perf events or not.

bTrackingGPUCrashData

description: Whether we are currently tracking data for gpucrash debugging or not

CurrentEventNode

type: FGPUProfilerEve...

description: Current perf event node.

CurrentEventNodeFrame

description: Current perf event node frame.

GPUCrashDataDepth

description: Scope depth to record crash data depth. to limit perf/mem requirements

GPUHitchDebounce

description: GPU hitch profile history debounce...after a hitch, we just ignore frames for a while


code: FGPUProfilerEventNode ( const TCHAR * InName, [FGPUProfilerEventNode](API\Runtime\RHI\FGPUProfilerEventNode) * InParent )


className: FGPUProfilerEventNode

description: Stats for a single perf event node.

code: class FGPUProfilerEventNode : public [FGPUProfilerEventNodeStats](API\Runtime\RHI\FGPUProfilerEventNodeStats)

Children

type: TArray<TRefCou...

description: Children perf event nodes.

Name

type: FString

Parent

description: Pointer to parent node so we can walk up the tree on appEndDrawEvent.


description: Dumps perf event information, blocking on GPU.

code: void DumpEventTree()


description: End this frame of per tracking, but do not block yet

code: virtual void EndFrame()


description: Calculates root timing base frequency (if needed by this RHI)

code: virtual float GetRootTimingResults()


description: D3D11 Hack

code: virtual void LogDisjointQuery()


code: virtual bool PlatformDisablesVSync() const


description: Start this frame of per tracking

code: virtual void StartFrame()


code: virtual ~FGPUProfilerEventNodeFrame()


className: FGPUProfilerEventNodeFrame

description: An entire frame of perf event nodes, including ancillary timers.

code: struct FGPUProfilerEventNodeFrame

EventTree

description: Root nodes of the perf event tree.


code: const [FGPUProfilerEventNodeStats](API\Runtime\RHI\FGPUProfilerEventNodeStats) operator+= ( const [FGPUProfilerEventNodeStats](API\Runtime\RHI\FGPUProfilerEventNodeStats) & rhs )


code: FGPUProfilerEventNodeStats ( const [FGPUProfilerEventNodeStats](API\Runtime\RHI\FGPUProfilerEventNodeStats) & rhs )


className: FGPUProfilerEventNodeStats

description: Stats for a single perf event node.

code: class FGPUProfilerEventNodeStats : public [FRefCountedObject](API\Runtime\Core\Templates\FRefCountedObject)

GroupCount

type: FIntVector

NumDispatches

description: Compute stats

NumDraws

description: Exclusive number of draw calls rendered in this event.

NumEvents

description: Inclusive number of other perf events that this is the parent of.

NumPrimitives

description: Exclusive number of primitives rendered in this event.

NumTotalDraws

description: Inclusive number of draw calls rendered in this event and children.

NumTotalPrimitives

description: Inclusive number of primitives rendered in this event and children.

NumTotalVertices

description: Inclusive number of vertices rendered in this event and children.

NumVertices

description: Exclusive number of vertices rendered in this event.

TimingResult

type: float

description: GPU time spent inside the perf event's begin and end, in ms.


code: FEventType &40; const TCHAR &42; Name &41;


className: FGpuProfilerTrace

code: struct FGpuProfilerTrace


className: GAreGlobalsInitialized

description: Whether the static variables have been initialized.

code: static bool GAreGlobalsInitialized = false;


description:
Returns a pair of timestamps performed on GPU and CPU at nearly the same time, in microseconds.
CPU and GPU timestamps, in microseconds. Both are 0 if feature isn't supported.

code: static [FGPUTimingCalibrationTimestamp](API\Runtime\RHI\FGPUTimingCalibrationTimestamp) GetCalibrationTimestamp ( uint32 GPUIndex )


className: GCalibrationTimestamp

description: Two timestamps performed on GPU and CPU at nearly the same time. This can be used to visualize GPU and CPU timing events on the same timeline.

code: static [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< [FGPUTimingCalibrationTimestamp](API\Runtime\RHI\FGPUTimingCalibrationTimestamp), 1 > GCalibrationTimestamp;


description:
Returns the frequency for the timing values, in number of ticks per seconds.
Frequency for the timing values, in number of ticks per seconds, or 0 if the feature isn't supported.

code: static uint64 GetTimingFrequency ( uint32 GPUIndex )


className: GIsSupported

description: Whether GPU timing measurements are supported by the driver.

code: static bool GIsSupported = false;


className: GTimingFrequency

description: Frequency for the timing values, in number of ticks per seconds, or 0 if the feature isn't supported.

code: static [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< uint64, 1 > GTimingFrequency;


description:
Whether GPU timing measurements are supported by the driver.
true if GPU timing measurements are supported by the driver.

code: static bool IsSupported()


className: PlatformStaticInitialize

code: typedef void( PlatformStaticInitialize


code: static void SetCalibrationTimestamp ( [FGPUTimingCalibrationTimestamp](API\Runtime\RHI\FGPUTimingCalibrationTimestamp) CalibrationTimestamp, uint32 GPUIndex )


code: static void SetTimingFrequency ( uint64 TimingFrequency, uint32 GPUIndex )


code: static void StaticInitialize ( void * UserData, [PlatformStaticInitialize](API\Runtime\RHI\FGPUTiming\PlatformStaticInitialize) * PlatformFunction )


className: FGPUTiming

description: Holds information if this platform's GPU allows timing

code: struct FGPUTiming


className: FGPUTimingCalibrationTimestamp

code: struct FGPUTimingCalibrationTimestamp


className: FGraphicsPipelineRenderTargetsInfo

DepthStencilAccess

type: FExclusiveDepth...

DepthStencilTargetFlag

type: ETextureCreateF...

DepthStencilTargetFormat

type: EPixelFormat

DepthTargetLoadAction

type: ERenderTargetLo...

DepthTargetStoreAction

type: ERenderTargetSt...

RenderTargetFlags

type: TStaticArray< E...

RenderTargetFormats

type: TStaticArray< u...


code: bool operator== ( const [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) & rhs ) const


className: RelevantDepthStencilFlagMask

description: We care about flags that influence DS formats (which is the only thing the underlying API cares about). D3D12 shares the format choice function with the RT, so preserving all the flags used there out of abundance of caution.

code: static constexpr ETextureCreateFlags RelevantDepthStencilFlagMask = ETextureCreateFlags::SRGB | ETextureCreateFlags::Shared | ETextureCreateFlags::DepthStencilTargetable;


code: static bool RelevantDepthStencilFlagsEqual ( const ETextureCreateFlags A, const ETextureCreateFlags B )


code: static bool RelevantRenderTargetFlagsEqual ( const [TRenderTargetFlags](API\Runtime\RHI\FGraphicsPipelineStateInitialize-\TRenderTargetFlags) & A, const [TRenderTargetFlags](API\Runtime\RHI\FGraphicsPipelineStateInitialize-\TRenderTargetFlags) & B )


className: TRenderTargetFlags

code: typedef [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< ETextureCreateFlags, MaxSimultaneousRenderTargets > TRenderTargetFlags


className: TRenderTargetFormats

description: Can't use TEnumByteas it changes the struct to be non trivially constructible, breaking memset.

code: typedef [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< uint8, MaxSimultaneousRenderTargets > TRenderTargetFormats


code: FGraphicsPipelineStateInitializer ( [FBoundShaderStateInput](API\Runtime\RHI\FBoundShaderStateInput) InBoundShaderState, [FRHIBlendState](API\Runtime\RHI\FRHIBlendState) * InBlendState, [FRHIRasterizerState](API\Runtime\RHI\FRHIRasterizerState) * InRasterizerState, [FRHIDepthStencilState](API\Runtime\RHI\FRHIDepthStencilState) * InDepthStencilState, [FImmutableSamplerState](API\Runtime\RHI\FImmutableSamplerState) InImmutableSamplerState, EPrimitiveType InPrimitiveType, uint32 InRenderTargetsEnabled, const [TRenderTargetFormats](API\Runtime\RHI\FGraphicsPipelineStateInitialize-\TRenderTargetFormats) & InRenderTargetFormats, const [TRenderTargetFlags](API\Runtime\RHI\FGraphicsPipelineStateInitialize-\TRenderTargetFlags) & InRenderTargetFlags, EPixelFormat InDepthStencilTargetFormat, ETextureCreateFlags InDepthStencilTargetFlag, ERenderTargetLoadAction InDepthTargetLoadAction, ERenderTargetStoreAction InDepthTargetStoreAction, ERenderTargetLoadAction InStencilTargetLoadAction, ERenderTargetStoreAction InStencilTargetStoreAction, [FExclusiveDepthStencil](API\Runtime\RHI\FExclusiveDepthStencil) InDepthStencilAccess, uint16 InNumSamples, ESubpassHint InSubpassHint, uint8 InSubpassIndex, EConservativeRasterization InConservativeRasterization, uint16 InFlags, bool bInDepthBounds, uint8 InMultiViewCount, bool bInHasFragmentDensityAttachment, EVRSShadingRate InShadingRate )


className: FGraphicsPipelineStateInitializer

code: class FGraphicsPipelineStateInitializer

type: union FGraphics...

description: Note: these flags do NOT affect compilation of this PSO.

bDepthBounds

type: bool

bFromPSOFileCache

type: uint16:  1

BlendState

type: FRHIBlendState...

BoundShaderState

type: FBoundShaderSta...

ConservativeRasterization

type: EConservativeRa...

DepthStencilState

type: FRHIDepthStenci...

ImmutableSamplerState

type: FImmutableSampl...

PrimitiveType

type: EPrimitiveType

RasterizerState

type: FRHIRasterizerS...

RenderTargetFlags

type: TRenderTargetFl...

type: TRenderTargetFo...

ShadingRate

type: EVRSShadingRate

StatePrecachePSOHash

description: Cached hash off all state data provided at creation time (Only contains hash of data which influences the PSO precaching for the current platform) Created from hashing the state data instead of the pointers which are used during fast runtime cache checking and compares

SubpassHint

type: ESubpassHint


code: bool operator== ( const [FImmutableSamplerState](API\Runtime\RHI\FImmutableSamplerState) & rhs ) const


code: bool operator!= ( const [FImmutableSamplerState](API\Runtime\RHI\FImmutableSamplerState) & rhs ) const


className: TImmutableSamplers

code: typedef [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< [FRHISamplerState](API\Runtime\RHI\FRHISamplerState) *, MaxImmutableSamplers > TImmutableSamplers


className: FImmutableSamplerState

code: struct FImmutableSamplerState

ImmutableSamplers

type: TImmutableSampl...


code: void SetLastRenderTime ( double InLastRenderTime )


className: FLastRenderTimeContainer

description: Textures

code: class FLastRenderTimeContainer


code: FLockParams &40; void &42; InRHIBuffer, void &42; InBuffer, uint32 InOffset, uint32 InBufferSize, EResourceLockMode InLockMode &41;


className: FLockParams

code: struct FLockParams

Buffer

type: void *

LockMode

type: EResourceLockMo...


code: void Lock ( void * RHIBuffer, void * Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode )


code: [FLockParams](API\Runtime\RHI\FLockTracker\FLockParams) Unlock ( void * RHIBuffer )


className: FLockTracker

code: struct FLockTracker

CriticalSection

type: FCriticalSectio...

OutstandingLocks

type: TArray<FLockPa...


code: void CommonFromString ( const FStringView & Src )


code: void AddToReadableString &40; TReadableStringBuilder & OutBuilder &41; const


code: void FromString &40; const FStringView & Src &41;


className: ComputeDescriptor

code: struct ComputeDescriptor

ComputeShader

type: FSHAHash


className: DescriptorType

code: enum DescriptorType { Compute = 0, Graphics = 1, RayTracing = 2, }


code: void FromString &40; const FString & Src &41;


code: bool operator&61;&61; &40; const FPipelineFileCacheRayTracingDesc & Other &41; const


code: FPipelineFileCacheRayTracingDesc &40; const FRayTracingPipelineStateInitializer & Initializer, const FRHIRayTracingShader &42; ShaderRHI &41;


className: FPipelineFileCacheRayTracingDesc

code: struct FPipelineFileCacheRayTracingDesc

bAllowHitGroupIndexing

type: bool

Frequency

type: EShaderFrequenc...


code: void AddShadersToReadableString &40; TReadableStringBuilder & OutBuilder &41; const


code: void AddStateToReadableString &40; TReadableStringBuilder & OutBuilder &41; const


code: bool FromString &40; const FStringView & Src &41;


description: Not all DepthStencil flags make sense for the replayed PSO, only those that can influence the actual format

code: static ETextureCreateFlags ReduceDSFlags &40; ETextureCreateFlags InFlags &41;


description: Not all RT flags make sense for the replayed PSO, only those that can influence the RT formats

code: static ETextureCreateFlags ReduceRTFlags &40; ETextureCreateFlags InFlags &41;


code: static FString ShaderHeaderLine&40;&41;


code: void ShadersFromString &40; const FStringView & Src &41;


code: FString ShadersToString&40;&41; const


code: bool StateFromString &40; const FStringView & Src &41;


code: static FString StateHeaderLine&40;&41;


className: GraphicsDescriptor

code: struct GraphicsDescriptor

BlendState

type: FBlendStateInit...

DepthLoad

type: ERenderTargetLo...

DepthStencilFlags

type: ETextureCreateF...

DepthStencilFormat

type: EPixelFormat

DepthStencilState

type: FDepthStencilSt...

DepthStore

type: ERenderTargetSt...

RasterizerState

type: FPipelineFileCa...

RenderTargetFormats

type: EPixelFormat[Ma...

VertexDescriptor

type: FVertexDeclarat...


code: static bool Init ( [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & PSO, [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) const * Init )


code: static bool Init ( [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & PSO, [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) const & Init )


code: static bool Init ( [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & PSO, [FPipelineFileCacheRayTracingDesc](API\Runtime\RHI\FPipelineCacheFileFormatPSO\FPipelineFileCacheRayTracingDesc) const & Desc )


code: [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & operator= ( const [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & Other )


code: bool operator== ( const [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & Other ) const


description: Prints out human-readable representation of the PSO, for any type


className: TReadableStringBuilder

code: typedef TStringBuilder< 1024 > TReadableStringBuilder


description: Potential cases for seperating verify logic if requiired: RunTime-Logging, RunTime-UserCaching, RunTime-PreCompile, CommandLet-Cooking.

code: bool Verify() const


className: FPipelineCacheFileFormatPSO

code: struct FPipelineCacheFileFormatPSO

ComputeDesc

type: ComputeDescript...

GraphicsDesc

type: GraphicsDescrip...

Type

type: DescriptorType


className: FPipelineCacheFileFormatPSORead

code: struct FPipelineCacheFileFormatPSORead

Ar

type: FArchive*

Data

type: TArray< uint8 >

ParentFileHandle

type: TSharedPtr< cla...

description: Note that the contract ofIAsyncReadFileHandleandIAsyncReadRequestrequires that we delete the ReadRequest before deleting its ParentFileHandle.


className: FPipelineCachePSOHeader

code: struct FPipelineCachePSOHeader

Shaders

type: TSet<FSHAHash...


code: static void CacheComputePSO ( uint32 RunTimeHash, [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) const * Initializer )


code: static void CacheGraphicsPSO ( uint32 RunTimeHash, [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) const & Initializer, bool bWasPSOPrecached )


code: static void CacheRayTracingPSO ( const [FRayTracingPipelineStateInitializer](API\Runtime\RHI\FRayTracingPipelineStateInitiali-) & Initializer, ERayTracingPipelineCacheFlags Flags )


code: FPipelineCacheFileFormatPSO ( const [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & Other )


code: static void FetchPSODescriptors ( const [FString](API\Runtime\Core\Containers\FString) & PSOCacheKey, [TDoubleLinkedList](API\Runtime\Core\Containers\TDoubleLinkedList)< [FPipelineCacheFileFormatPSORead](API\Runtime\RHI\FPipelineCacheFileFormatPSORead) * > & LoadedBatch )


className: FileCacheEnabled

code: static bool FileCacheEnabled = false;


className: FileCacheLock

code: static FRWLock FileCacheLock;


className: FileCacheMap

description: Containers for the multiple bundled PSOFCs Name to PipelineCacheFile

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< class FPipelineCacheFile > > FileCacheMap;


className: FPipelineStateLoggedEvent

description: Event signature for being notified that a new PSO has been logged

code: typedef TMulticastDelegate_OneParam< void, [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) & > FPipelineStateLoggedEvent


className: GameGuidToCacheKey

description: PipelineCacheFile GUID to Name.

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FGuid](API\Runtime\Core\Misc\FGuid), [FString](API\Runtime\Core\Containers\FString) > GameGuidToCacheKey;


className: GameUsageMask

code: static uint64 GameUsageMask = 0;


className: GameUsageMaskSet

code: static bool GameUsageMaskSet = false;


code: static void GetOrderedPSOHashes ( const [FString](API\Runtime\Core\Containers\FString) & PSOCacheKey, [TArray](API\Runtime\Core\Containers\TArray)< [FPipelineCachePSOHeader](API\Runtime\RHI\FPipelineCachePSOHeader) > & PSOHashes, [PSOOrder](API\Runtime\RHI\FPipelineFileCacheManager\PSOOrder) Order, int64 MinBindCount, [TSet](API\Runtime\Core\Containers\TSet)< uint32 > const & AlreadyCompiledHashes )


code: static int32 GetTotalPSOCount ( const [FString](API\Runtime\Core\Containers\FString) & PSOCacheKey )


description: True if the named PSOFC is currently open.

code: static bool HasPipelineFileCache ( const [FString](API\Runtime\Core\Containers\FString) & PSOCacheKey )


code: static void Initialize ( uint32 GameVersion )


code: static bool LoadPipelineFileCacheInto ( [FString](API\Runtime\Core\Containers\FString) const & Path, [TSet](API\Runtime\Core\Containers\TSet)< [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) > & PSOs )


className: LogNewPSOsToConsoleAndCSV

code: static bool LogNewPSOsToConsoleAndCSV = true;


description: Report additional data about new PSOs to the log.

code: static bool LogPSODetails()


code: static bool MergePipelineFileCaches ( [FString](API\Runtime\Core\Containers\FString) const & PathA, [FString](API\Runtime\Core\Containers\FString) const & PathB, [FPipelineFileCacheManager::PSOOrder](API\Runtime\RHI\FPipelineFileCacheManager\PSOOrder) Order, [FString](API\Runtime\Core\Containers\FString) const & OutputPath )


className: MaskComparisonFn

code: static FPSOMaskComparisonFn MaskComparisonFn = DefaultPSOMaskComparisonFunction;


className: NewPSOHashes

code: static [TSet](API\Runtime\Core\Containers\TSet)< uint32 > NewPSOHashes;


className: NewPSOs

code: static [TSet](API\Runtime\Core\Containers\TSet)< [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) > NewPSOs;


className: NewPSOUsage

code: static [TMap](API\Runtime\Core\Containers\TMap)< uint32, [FPSOUsageData](API\Runtime\RHI\FPSOUsageData) > NewPSOUsage;


description: Gets the event delegate to register for pipeline state logging events.


description: Open the pipeline file cache for the specfied name and platform. If successful, the GUID of the game file will be returned in OutGameFileGuid

code: static bool OpenPipelineFileCache ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & CacheName, EShaderPlatform Platform, [FGuid](API\Runtime\Core\Misc\FGuid) & OutGameFileGuid )


description: Open the user pipeline file cache for the specified name and platform. The user cache is always created even if the file was not present when opened. Name is the name used when opening the file, the key value for the user cache is held within UserCacheName. returns true if the file was opened.

code: static bool OpenUserPipelineFileCache ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & CacheName, EShaderPlatform Platform, [FGuid](API\Runtime\Core\Misc\FGuid) & OutGameFileGuid )


className: PSOOrder

code: enum PSOOrder { Default = 0, FirstToLatestUsed = 1, MostToLeastUsed = 2, }


description: This PSO has failed compile and is invalid - this cache should not return this invalid PSO from subsequent calls for PreCompile requests. Note: Not implementated for Compute that has no flag to say it came from this cache - don't want to consume failures that didn't propagate from this cache.

code: static void RegisterPSOCompileFailure ( uint32 RunTimeHash, [FGraphicsPipelineStateInitializer](API\Runtime\RHI\FGraphicsPipelineStateInitialize-) const & Initializer )


code: static [FPipelineStateStats](API\Runtime\RHI\FPipelineStateStats) * RegisterPSOStats ( uint32 RunTimeHash )


className: RequestedOrder

code: static [PSOOrder](API\Runtime\RHI\FPipelineFileCacheManager\PSOOrder) RequestedOrder = FPipelineFileCacheManager::PSOOrder::MostToLeastUsed;


className: RunTimeToPSOUsage

description: PSO recording.

code: static [TMap](API\Runtime\Core\Containers\TMap)< uint32, [FPSOUsageData](API\Runtime\RHI\FPSOUsageData) > RunTimeToPSOUsage;


className: SaveMode

code: enum SaveMode { Incremental = 0, BoundPSOsOnly = 1, }


code: static bool SavePipelineFileCache ( [SaveMode](API\Runtime\RHI\FPipelineFileCacheManager\SaveMode) Mode )


code: static bool SavePipelineFileCacheFrom ( uint32 GameVersion, EShaderPlatform Platform, [FString](API\Runtime\Core\Containers\FString) const & Path, const [TSet](API\Runtime\Core\Containers\TSet)< [FPipelineCacheFileFormatPSO](API\Runtime\RHI\FPipelineCacheFileFormatPSO) > & PSOs )


description:
Define the Current Game Usage Mask and a comparison function to compare this mask against the recorded mask in each PSO
the old mask

code: static uint64 SetGameUsageMaskWithComparison ( uint64 GameUsageMask, FPSOMaskComparisonFn InComparisonFnPtr )


description: Enable or disable the logging of new PSOs (PSOs that were needed but not found in the file cache) to console and CSV.

code: static void SetNewPSOConsoleAndCSVLogging ( bool bEnabled )


className: Stats

code: static [TMap](API\Runtime\Core\Containers\TMap)< uint32, [FPipelineStateStats](API\Runtime\RHI\FPipelineStateStats) * > Stats;


className: UserCacheKey

description: User cache's key within FileCacheMap.


className: FPipelineFileCacheManager

code: class FPipelineFileCacheManager


code: void FromString ( const FStringView & Src )


code: [FPipelineFileCacheRasterizerState](API\Runtime\RHI\FPipelineFileCacheRasterizerStat-) & operator= ( [FRasterizerStateInitializerRHI](API\Runtime\RHI\FRasterizerStateInitializerRHI) const & Other )


code: FPipelineFileCacheRasterizerState ( [FRasterizerStateInitializerRHI](API\Runtime\RHI\FRasterizerStateInitializerRHI) const & Other )


className: FPipelineFileCacheRasterizerState

bAllowMSAA

type: bool

CullMode

type: TEnumAsByte< ER...

DepthBias

type: float

DepthClipMode

type: ERasterizerDept...


code: static void UpdateStats ( [FPipelineStateStats](API\Runtime\RHI\FPipelineStateStats) * Stats )


className: FPipelineStateStats

description: Tracks stats for the current session between opening & closing the file-cache.

code: struct FPipelineStateStats


className: EType

code: enum EType { Invalid = 0, Graphics, Compute, }


code: bool operator== ( const [FPSOPrecacheRequestID](API\Runtime\RHI\FPSOPrecacheRequestID) & Other ) const


code: bool operator!= ( const [FPSOPrecacheRequestID](API\Runtime\RHI\FPSOPrecacheRequestID) & rhs ) const


className: FPSOPrecacheRequestID

description: Unique request ID of PSOPrecache which can be used to boost the priority of a PSO precache requests if it's needed for rendering.

code: struct FPSOPrecacheRequestID

Type

type: uint32:  2


code: bool operator== ( const [FPSOPrecacheRequestResult](API\Runtime\RHI\FPSOPrecacheRequestResult) & Other ) const


className: FPSOPrecacheRequestResult

description: Result data of a precache pipeline state request.

code: struct FPSOPrecacheRequestResult

AsyncCompileEvent

type: FGraphEventRef

RequestID

type: FPSOPrecacheReq...


code: FPSOUsageData ( uint32 InPSOHash, uint64 InUsageMask, uint16 InEngineFlags )


className: FPSOUsageData

description: FPipelineFileCacheManager: The RHI-level backend forFShaderPipelineCache, responsible for tracking PSOs and their usage stats as well as dealing with the pipeline cache files. It is not expected that games or end-users invoke this directly, they should be callingFShaderPipelineCachewhich exposes this functionality in a usable form.

code: struct FPSOUsageData


code: FRasterizerStateInitializerRHI ( ERasterizerFillMode InFillMode, ERasterizerCullMode InCullMode, bool bInAllowMSAA, bool bInEnableLineAA )


code: bool operator!= ( const [FPSOPrecacheRequestResult](API\Runtime\RHI\FPSOPrecacheRequestResult) & rhs ) const


code: FRasterizerStateInitializerRHI ( ERasterizerFillMode InFillMode, ERasterizerCullMode InCullMode, float InDepthBias, float InSlopeScaleDepthBias, ERasterizerDepthClipMode InDepthClipMode, bool bInAllowMSAA, bool bInEnableLineAA )


className: FRasterizerStateInitializerRHI

code: struct FRasterizerStateInitializerRHI


code: FRawBufferShaderResourceViewInitializer ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * InBuffer )


className: FRawBufferShaderResourceViewInitializer

description: FRawBufferShaderResourceViewInitializercan be used to explicitly create a raw view for any buffer, even if it was not created with EBufferUsageFlags::ByteAddressBuffer flag. Can only be used if GRHIGlobals.SupportsRawViewsForAnyBuffer is set.

code: struct FRawBufferShaderResourceViewInitializer : public [FShaderResourceViewInitializer](API\Runtime\RHI\FShaderResourceViewInitializer)


className: FRayTracingGeometryBuildParams

code: struct FRayTracingGeometryBuildParams

BuildMode

type: EAccelerationSt...

Geometry

type: FRayTracingGeom...

Segments

type: TConstArrayView...

description: Optional array of geometry segments that can be used to change per-segment vertex buffers.


className: FRayTracingGeometryInitializer

code: struct FRayTracingGeometryInitializer

DebugName

type: FDebugName

description: UseFDebugNamefor auto-generated debug names with numbered suffixes, it is a variation ofFMemoryImageNamewith optional number postfix.

GeometryType

type: ERayTracingGeom...

IndexBuffer

type: FBufferRHIRef

IndexBufferOffset

description: Offset in bytes from the base address of the index buffer.

OfflineData

type: FResourceArrayI...

description: Offline built geometry data. If null, the geometry will be built by the RHI at runtime.

OwnerName

type: FName

description: Store the path name of the owner object for resource tracking.FMemoryImageNameallows a conversion to/fromFName.

type: TArray<FRayTra...

description: Partitions of geometry to allow different shader and resource bindings.

SourceGeometry

type: FRHIRayTracingG...

description: Pointer to an existing ray tracing geometry which the new geometry is built from.

TotalPrimitiveCount

description: Total number of primitives in all segments of the geometry. Only used for validation.


className: FRayTracingGeometrySegment

code: struct FRayTracingGeometrySegment

bAllowDuplicateAnyHitShaderInvocation

type: bool

description: Any-hit shader may be invoked multiple times for the same primitive during ray traversal.

bEnabled

description: Indicates whether this section is enabled and should be taken into account during acceleration structure creation.

bForceOpaque

description: Indicates whether any-hit shader could be invoked when hitting this geometry segment.

FirstPrimitive

description: Primitive range for this segment.

MaxVertices

description: Number of vertices (positions) in VertexBuffer.

VertexBufferElementType

type: EVertexElementT...

VertexBufferOffset

description: Offset in bytes from the base address of the vertex buffer.

VertexBufferStride

description: Number of bytes between elements of the vertex buffer (sizeof VET_Float3 by default).


className: FRayTracingGeometryInstance

description: High level descriptor of one or more instances of a mesh in a ray tracing scene. All instances covered by this descriptor will share shader bindings, but may have different transforms and user data.

code: struct FRayTracingGeometryInstance

ActivationMask

type: TArrayView< con...

description: Each geometry copy can have one bit to make it individually deactivated (removed from TLAS while maintaining hit group indexing). Useful for culling.

bApplyLocalBoundsTransform

description: Whether local bounds scale and center translation should be applied to the instance transform.

BaseInstanceSceneDataOffset

description: Offsets into the scene's instance scene data buffer used to get instance transforms from GPUScene If BaseInstanceSceneDataOffset != -1, instances are assumed to be continuous.

DefaultUserData

description: Each geometry copy can receive a user-provided integer, which can be used to retrieve extra shader parameters or customize appearance.

Flags

type: ERayTracingInst...

description: Flags to control triangle back face culling, whether to allow any-hit shaders, etc.

GPUTransformsSRV

type: FShaderResource...

description: Optional buffer that stores GPU transforms. Used instead of CPU-side transform data.

Mask

description: Mask that will be tested against one provided to TraceRay() in shader code.

NumTransforms

description: Conservative number of instances.

Transforms

description: A single physical mesh may be duplicated many times in the scene with different transforms and user data.


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & GetCallableTable() const


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & GetHitGroupTable() const


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & GetMissTable() const


description: Shaders that can be explicitly invoked from RayGen shaders by their Shader Binding Table (SBT) index. SetRayTracingCallableShader() command must be used to fill SBT slots before a shader can be called.

code: void SetCallableTable ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & InCallableShaders, uint64 Hash )


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & GetRayGenTable() const


description: Shaders that will be invoked when ray intersects geometry. If this table is empty, then a built-in default shader will be used for all geometry, using FDefaultPayload.

code: void SetHitGroupTable ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & InHitGroups, uint64 Hash )


description: Shaders that will be invoked if a ray misses all geometry. If this table is empty, then a built-in default miss shader will be used that sets HitT member of FMinimalPayload to -1. Desired miss shader can be selected by providing MissShaderIndex to TraceRay() function.

code: void SetMissShaderTable ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & InMissShaders, uint64 Hash )


description: Shaders used as entry point to ray tracing work. At least one RayGen shader must be provided.

code: void SetRayGenShaderTable ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRHIRayTracingShader](API\Runtime\RHI\FRHIRayTracingShader) * > & InRayGenShaders, uint64 Hash )


code: FRayTracingPipelineStateInitializer()


className: FRayTracingPipelineStateInitializer

code: class FRayTracingPipelineStateInitializer : public [FRayTracingPipelineStateSignature](API\Runtime\RHI\FRayTracingPipelineStateSignatur-)

BasePipeline

type: FRayTracingPipe...

description: Ray tracing pipeline may be created by deriving from the existing base.

bBackgroundCompilation

description: Hints to the RHI that this PSO is being compiled by a background task and will not be needed immediately for rendering.

bPartial

description: Partial ray tracing pipelines can be used for run-time asynchronous shader compilation, but not for rendering.


className: 502 Bad Gateway

code: uint64 GetCallableHash() const


description: NOTE: GetTypeHash(const FRayTracingPipelineStateInitializer& Initializer) should also be updated when changing this function.

code: bool operator== ( const [FRayTracingPipelineStateSignature](API\Runtime\RHI\FRayTracingPipelineStateSignatur-) & rhs ) const


className: FRayTracingPipelineStateSignature

code: class FRayTracingPipelineStateSignature


className: FRayTracingSceneBuildParams

code: struct FRayTracingSceneBuildParams

InstanceBuffer

type: FRHIBuffer*...

description: Buffer of native ray tracing instance descriptors. Must be in SRV state.

ResultBuffer

description: Acceleration structure will be written to this buffer. The buffer must be in BVHWrite state.

Scene

type: FRHIRayTracingS...

description: Scene to be built. May be null if explicit instance buffer is provided.

ScratchBuffer

description: Scratch buffer used to build Acceleration structure. Must be in UAV state.


code: [FRayTracingSceneInitializer2](API\Runtime\RHI\FRayTracingSceneInitializer2) & operator= ( [FRayTracingSceneInitializer2](API\Runtime\RHI\FRayTracingSceneInitializer2) && )


code: FRayTracingSceneInitializer2 ( [FRayTracingSceneInitializer2](API\Runtime\RHI\FRayTracingSceneInitializer2) && )


code: struct FRayTracingSceneInitializer2

BaseInstancePrefixSum

type: TArray< uint32 ...

description: Exclusive prefix sum of `Instance.NumTransforms_ for all instances in this scene. Used to emulate SV_InstanceID in hit shaders.

Lifetime

type: ERayTracingScen...

description: Defines whether data in this scene should persist between frames.

NumCallableShaderSlots

description: Defines how many different callable shaders with unique resource bindings can be bound to this scene.

NumMissShaderSlots

description: At least one miss shader must be present in a ray tracing scene.

NumNativeInstancesPerLayer

description: Total flattened number of ray tracing geometry instances (a singleFRayTracingGeometryInstancemay represent many) per layer.

PerInstanceGeometries

type: TArray<FRHIRay...

description: One entry per instance.

ReferencedGeometries

type: TArray<TRefCou...

description: Unique list of geometries referenced by all instances in this scene.

SegmentPrefixSum

description: Exclusive prefix sum of instance geometry segments is used to calculate SBT record address from instance and segment indices.

ShaderSlotsPerGeometrySegment

description: This value controls how many elements will be allocated in the shader binding table per geometry segment.


description: Deprecated* Initialize now requires a command list.

code: void Initialize ( const TCHAR * InDebugName, uint32 BytesPerElement, uint32 NumElements, EPixelFormat Format, EBufferUsageFlags AdditionalUsage, [FResourceArrayInterface](API\Runtime\Core\Containers\FResourceArrayInterface) * InResourceArray )


code: void Initialize ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, const TCHAR * InDebugName, uint32 BytesPerElement, uint32 NumElements, EPixelFormat Format, EBufferUsageFlags AdditionalUsage, [FResourceArrayInterface](API\Runtime\Core\Containers\FResourceArrayInterface) * InResourceArray )


className: FReadBuffer

description: Encapsulates a GPU read buffer with its SRV.

code: struct FReadBuffer

Buffer

type: FBufferRHIRef


code: float ComputeNormalizedDepth ( float DeviceZ ) const


code: void SetArrayIndex ( int32 InArrayIndex )


code: void SetGPUIndex ( uint32 InGPUIndex )


code: void SetMaxDepthRange ( float Value )


code: void SetOutputStencil ( bool Value )


code: FReadSurfaceDataFlags ( ERangeCompressionMode InCompressionMode, ECubeFace InCubeFace )


className: FReadSurfaceDataFlags

description: To customize the RHIReadSurfaceData() output

code: class FReadSurfaceDataFlags


code: FRenderThreadIdleScope ( [ERenderThreadIdleTypes::Type](API\Runtime\RHI\ERenderThreadIdleTypes__Type) Type, bool bInCondition )


className: FRenderThreadIdleScope

description: Helper to mark scopes as idle time on the render or RHI threads.

code: struct FRenderThreadIdleScope

bCondition

type: const bool

RHIThreadIdleScope

type: FThreadIdleStat...

Start

type: const uint32

Type

type: constERenderTh...


code: bool operator!= ( [FResolveRect](API\Runtime\RHI\FResolveRect) Other ) const


code: bool operator== ( [FResolveRect](API\Runtime\RHI\FResolveRect) Other ) const


description: E.g. for a a full 256 x 256 area starting at (0, 0) it would be the values would be 0, 0, 256, 256

code: FResolveRect ( int32 InX1, int32 InY1, int32 InX2, int32 InY2 )


className: FRHIAmplificationShader

code: class FRHIAmplificationShader : public [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader)


code: void SetBindlessResourceView ( uint32 Index, [FRHIShaderResourceView](API\Runtime\RHI\FRHIShaderResourceView) * SRV )


code: void SetBindlessSampler ( uint32 Index, [FRHISamplerState](API\Runtime\RHI\FRHISamplerState) * State )


code: void SetBindlessTexture ( uint32 Index, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture )


code: void SetBindlessUAV ( uint32 Index, [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UAV )


code: void SetShaderParameter ( uint32 BufferIndex, uint32 BaseIndex, uint32 NumBytes, const void * NewValue )


code: void SetShaderResourceViewParameter ( uint32 Index, [FRHIShaderResourceView](API\Runtime\RHI\FRHIShaderResourceView) * SRV )


code: void SetShaderTexture ( uint32 Index, [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture )


code: void SetShaderUniformBuffer ( uint32 Index, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) * UniformBuffer )


code: void SetUAVParameter ( uint32 Index, [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UAV )


className: FRHIBatchedShaderParameters

description: Collection of parameters to set in the RHI. These parameters aren't bound to any specific shader until SetBatchedShaderParameters is called.

code: struct FRHIBatchedShaderParameters

BindlessParameters

type: TArray<FRHISha...

ParametersData

type: TArray< uint8 >


className: FRHIBatchedShaderUnbinds

description: Collection of parameters to unbind in the RHI. These unbinds aren't tied to any specific shader until SetBatchedShaderUnbinds is called.

code: struct FRHIBatchedShaderUnbinds