code: void InternalSetShaderImageUAV ( GLint UAVIndex, GLenum Format, GLuint Resource, bool bLayered, GLint Layer, GLenum Access )


description: Remember what RHI user wants set on a specific OpenGL texture stage, translating from Stage and TextureIndex for stage pair.

module: OpenGLDrv

code: void InternalSetShaderTexture ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * Texture, [FOpenGLShaderResourceView](API\Runtime\OpenGLDrv\FOpenGLShaderResourceView) * SRV, GLint TextureIndex, GLenum Target, GLuint Resource, int NumMips, int LimitMip )


description: Inform all queries about the need to recreate themselves after OpenGL context they're in gets deleted.

code: void InvalidateQueries()


code: void InvalidateTextureResourceInCache ( GLuint Resource )


code: void InvalidateUAVResourceInCache ( GLuint Resource )


description: Buffer Lock/Unlock.

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


code: bool LinkComputeShader ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShaderRHI, [FOpenGLComputeShader](API\Runtime\OpenGLDrv\FOpenGLComputeShader) * ComputeShader )


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 * LockStagingBuffer_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer) * StagingBuffer, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * Fence, uint32 Offset, uint32 SizeRHI )


code: bool IsUniformBufferBound ( [FOpenGLContextState](API\Runtime\OpenGLDrv\FOpenGLContextState) & ContextState, GLuint Buffer ) const


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


code: virtual void * LockTexture2D_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2D * Texture, uint32 MipIndex, EResourceLockMode LockMode, uint32 & DestStride, bool bLockWithinMiptail, bool bNeedsDefaultRHIFlush, uint64 * OutLockedByteCount )


code: void OnBufferDeletion ( GLuint VertexBufferResource )


code: void OnPixelBufferDeletion ( GLuint PixelBufferResource )


code: void OnProgramDeletion ( GLint ProgramResource )


code: void OnUniformBufferDeletion ( GLuint UniformBufferResource, uint32 AllocatedSize, bool bStreamDraw )


code: void PurgeFramebufferFromCaches ( GLuint Framebuffer )


description: Add query to Queries list upon its creation.

code: void RegisterQuery ( [FOpenGLRenderQuery](API\Runtime\OpenGLDrv\FOpenGLRenderQuery) * Query )


code: template<typename TRHIType> static auto * ResourceCast ( TRHIType * Resource )


code: static [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * ResourceCast ( [FRHITexture](API\Runtime\RHI\FRHITexture) * TextureRHI )


description: Acquires or releases ownership of the platform-specific rendering context for the calling thread


description: Only relevant with an RHI thread, this advances the backbuffer for the purpose of GetViewportBackBuffer FlushType: Thread safe

code: virtual void RHIAdvanceFrameForGetViewportBackBuffer ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport )


code: virtual void RHIAliasTextureResources ( FTextureRHIRef & DestTextureRHI, FTextureRHIRef & SrcTextureRHI )


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

code: virtual FTextureRHIRef RHIAsyncCreateTexture2D ( uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void ** InitialMipData, uint32 NumInitialMips, FGraphEventRef & OutCompletionEvent )


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

code: virtual FTexture2DRHIRef RHIAsyncReallocateTexture2D ( FRHITexture2D * Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, [FThreadSafeCounter](API\Runtime\Core\HAL\FThreadSafeCounter) * RequestStatus )


description: This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

code: virtual void RHIBeginDrawingViewport ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport, [FRHITexture](API\Runtime\RHI\FRHITexture) * RenderTargetRHI )


code: virtual void RHIBeginFrame()


code: virtual void RHIBeginRenderQuery ( [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery) * RenderQuery )


description: Signals the beginning of scene rendering. The RHI makes certain caching assumptions between calls to BeginScene/EndScene. Currently the only restriction is that you can't update texture references.

code: virtual void RHIBeginScene()


code: virtual void RHIBeginRenderPass ( const [FRHIRenderPassInfo](API\Runtime\RHI\FRHIRenderPassInfo) & InInfo, const TCHAR * InName )


code: virtual void RHIBeginTransitions ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FRHITransition](API\Runtime\RHI\FRHITransition) * > Transitions )


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

code: virtual [FRHICalcTextureSizeResult](API\Runtime\RHI\FDynamicRHI\FRHICalcTextureSizeResult) RHICalcTexturePlatformSize ( [FRHITextureDesc](API\Runtime\RHI\FRHITextureDesc) const & Desc, uint32 FirstMipIndex )


description: FlushType: Thread safe.

code: virtual void RHIBindDebugLabelName ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, const TCHAR * Name )


description: Blocks the CPU until the GPU catches up and goes idle. FlushType: Flush Immediate (seems wrong)

code: virtual void RHIBlockUntilGPUIdle()


description:
Cancels an async reallocation for the specified texture. This should be called for the new texture, not the original.
Reallocation status

code: virtual ETextureReallocationStatus RHICancelAsyncReallocateTexture2D ( FRHITexture2D * Texture2D, bool bBlockUntilCompleted )


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

code: virtual void RHIClearUAVUint ( [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UnorderedAccessViewRHI, const FUintVector4 & Values )


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

code: virtual void RHIClearUAVFloat ( [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UnorderedAccessViewRHI, const FVector4f & Values )


description: Computes the size in memory required by a given texture.

code: virtual uint32 RHIComputeMemorySize ( [FRHITexture](API\Runtime\RHI\FRHITexture) * TextureRHI )


code: virtual void RHICopyBufferRegion ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * DestBuffer, uint64 DstOffset, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * SourceBuffer, uint64 SrcOffset, uint64 NumBytes )


description: Copies the contents of one buffer to another buffer. They must have identical sizes.

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


description: FIXME: Broken on Android for cubemaps.

code: virtual void RHICopyTexture ( [FRHITexture](API\Runtime\RHI\FRHITexture) * SourceTexture, [FRHITexture](API\Runtime\RHI\FRHITexture) * DestTexture, const [FRHICopyTextureInfo](API\Runtime\RHI\FRHICopyTextureInfo) & CopyInfo )


code: virtual FTextureRHIRef RHICreateAliasedTexture ( FTextureRHIRef & SourceTexture )


description: Inline copy.

code: virtual void RHICopyToStagingBuffer ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * SourceBufferRHI, [FRHIStagingBuffer](API\Runtime\RHI\FRHIStagingBuffer) * DestinationStagingBufferRHI, uint32 InOffset, uint32 InNumBytes )


description: FlushType: Thread safe.

code: virtual FBlendStateRHIRef RHICreateBlendState ( const [FBlendStateInitializerRHI](API\Runtime\RHI\FBlendStateInitializerRHI) & Initializer )


code: FBoundShaderStateRHIRef RHICreateBoundShaderState_OnThisThread ( [FRHIVertexDeclaration](API\Runtime\RHI\FRHIVertexDeclaration) * VertexDeclaration, [FRHIVertexShader](API\Runtime\RHI\FRHIVertexShader) * VertexShader, [FRHIPixelShader](API\Runtime\RHI\FRHIPixelShader) * PixelShader, [FRHIGeometryShader](API\Runtime\RHI\FRHIGeometryShader) * GeometryShader, bool FromPSOFileCache )


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

code: virtual FBoundShaderStateRHIRef RHICreateBoundShaderState ( [FRHIVertexDeclaration](API\Runtime\RHI\FRHIVertexDeclaration) * VertexDeclaration, [FRHIVertexShader](API\Runtime\RHI\FRHIVertexShader) * VertexShader, [FRHIPixelShader](API\Runtime\RHI\FRHIPixelShader) * PixelShader, [FRHIGeometryShader](API\Runtime\RHI\FRHIGeometryShader) * GeometryShader )


description: FlushType: Wait RHI Thread.

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


code: virtual FBufferRHIRef RHICreateBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIBufferDesc](API\Runtime\RHI\FRHIBufferDesc) const & Desc, ERHIAccess ResourceState, [FRHIResourceCreateInfo](API\Runtime\RHI\FRHIResourceCreateInfo) & CreateInfo )


description: FlushType: Thread safe.

code: virtual FDepthStencilStateRHIRef RHICreateDepthStencilState ( const [FDepthStencilStateInitializerRHI](API\Runtime\RHI\FDepthStencilStateInitializerRHI) & Initializer )


description: FlushType: Wait RHI Thread.

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


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 )


code: virtual FGPUFenceRHIRef RHICreateGPUFence ( const [FName](API\Runtime\Core\UObject\FName) & Name )


description: FlushType: Wait RHI Thread.

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


description: FlushType: Thread safe.

code: virtual FRasterizerStateRHIRef RHICreateRasterizerState ( const [FRasterizerStateInitializerRHI](API\Runtime\RHI\FRasterizerStateInitializerRHI) & Initializer )


description: FlushType: Wait RHI Thread.

code: virtual FRenderQueryRHIRef RHICreateRenderQuery ( ERenderQueryType QueryType )


description: SRV / UAV creation functions.

code: virtual 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 pool for querys like timers or occlusion queries.
the Querypool.

code: virtual FRenderQueryPoolRHIRef RHICreateRenderQueryPool ( ERenderQueryType QueryType, uint32 NumQueries )


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


description: FlushType: Thread safe.

code: virtual FSamplerStateRHIRef RHICreateSamplerState ( const [FSamplerStateInitializerRHI](API\Runtime\RHI\FSamplerStateInitializerRHI) & Initializer )


code: virtual FTexture2DRHIRef RHICreateTexture2DArrayFromResource ( EPixelFormat Format, uint32 SizeX, uint32 SizeY, uint32 ArraySize, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


description: Creates an RHI texture resource.

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


code: virtual FTexture2DRHIRef RHICreateTexture2DFromResource ( EPixelFormat Format, uint32 SizeX, uint32 SizeY, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


code: virtual FTextureCubeRHIRef RHICreateTextureCubeFromResource ( EPixelFormat Format, uint32 Size, bool bArray, uint32 ArraySize, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


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


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

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


description: FlushType: Wait RHI Thread.

code: virtual FVertexDeclarationRHIRef RHICreateVertexDeclaration ( const FVertexDeclarationElementList & Elements )


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: virtual FUniformBufferRHIRef RHICreateUniformBuffer ( const void * Contents, const [FRHIUniformBufferLayout](API\Runtime\RHI\FRHIUniformBufferLayout) * Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation )


description: FlushType: Wait RHI Thread.

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


code: virtual void RHIDispatchComputeShader ( uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ )


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


description: Not all RHIs need this (Mobile specific)

code: virtual void RHIDiscardRenderTargets ( bool Depth, bool Stencil, uint32 ColorBitMask )


code: virtual void RHIDrawIndexedPrimitive ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances )


code: virtual void RHIDispatchIndirectComputeShader ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * ArgumentBuffer, uint32 ArgumentOffset )


code: virtual void RHIDrawIndexedIndirect ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * IndexBufferRHI, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances )


code: virtual void RHIDrawIndexedPrimitiveIndirect ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * IndexBuffer, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * ArgumentBuffer, uint32 ArgumentOffset )


code: virtual void RHIDrawPrimitive ( uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances )


code: virtual void RHIEnableDepthBoundsTest ( bool bEnable )


code: virtual void RHIEndDrawingViewport ( [FRHIViewport](API\Runtime\RHI\FRHIViewport) * Viewport, bool bPresent, bool bLockToVsync )


code: virtual void RHIDrawPrimitiveIndirect ( [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * ArgumentBuffer, uint32 ArgumentOffset )


code: virtual void RHIEndRenderPass()


code: virtual void RHIEndRenderQuery ( [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery) * RenderQuery )


description: Signals the end of scene rendering. See RHIBeginScene.

code: virtual void RHIEndScene()


description: This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

code: virtual void RHIEndFrame()


code: virtual void RHIEndTransitions ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FRHITransition](API\Runtime\RHI\FRHITransition) * > Transitions )


description: Returns the status of an ongoing or completed texture reallocation: TexRealloc_Succeeded - The texture is ok, reallocation is not in progress. TexRealloc_Failed - The texture is bad, reallocation is not in progress. TexRealloc_InProgress - The texture is currently being reallocated async.

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


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

code: virtual [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: virtual void RHIFlushResources()


description: Generates mip maps for the surface.

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


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

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


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

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


description: FlushType: Thread safe.

code: virtual [IRHICommandContext](API\Runtime\RHI\IRHICommandContext) * RHIGetDefaultContext()


code: virtual int32 RHIGetGLMajorVersion() const


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

code: virtual uint32 RHIGetGPUFrameCycles ( uint32 GPUIndex )


code: virtual int32 RHIGetGLMinorVersion() 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 instance. Generally this should be avoided but is useful for third party plugins.

code: virtual void * RHIGetNativeInstance()


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: virtual bool RHIGetRenderQueryResult ( [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery) * RenderQuery, uint64 & OutResult, bool bWait, uint32 GPUIndex )


code: virtual GLuint RHIGetResource ( [FRHITexture](API\Runtime\RHI\FRHITexture) * InTexture ) const


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

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


description:
Retrieves texture memory stats. Unsupported with this allocator.
false, indicating that out variables were left unchanged.

code: virtual 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: virtual bool RHIGetTextureMemoryVisualizeData ( [FColor](API\Runtime\Core\Math\FColor) * TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize )


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

code: virtual void * RHIGetNativeDevice()


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

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


description: Some RHI implementations (OpenGL) cache render state internally Signal to RHI that cached state is no longer valid

code: virtual void RHIInvalidateCachedState()


code: virtual bool RHIIsValidTexture ( GLuint InTexture ) const


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 )


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

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


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


code: virtual 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: virtual void RHIMapStagingSurface ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * Fence, void *& OutData, int32 & OutWidth, int32 & OutHeight, uint32 GPUIndex )


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


description: Used for OpenGL to check and see if any occlusion queries can be read back on the RHI thread. If they aren't ready when we need them, then we end up stalling.

code: virtual void RHIPollOcclusionQueries()


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

code: virtual EPixelFormat RHIPreferredPixelFormatHint ( EPixelFormat PreferredPixelFormat )


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


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: virtual 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 )


description: FlushType: Flush Immediate (seems wrong)

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 )


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 )


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, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex )


description: FlushType: Flush RHI Thread.


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

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


code: virtual bool RHIRequiresComputeGenerateMips() const


code: virtual void RHISetBlendState ( [FRHIBlendState](API\Runtime\RHI\FRHIBlendState) * NewState, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & BlendFactor )


description: Set bound shader state. This will set the vertex decl/shader, and pixel shader

code: virtual void RHISetBoundShaderState ( [FRHIBoundShaderState](API\Runtime\RHI\FRHIBoundShaderState) * BoundShaderState )


code: virtual void RHISetBlendFactor ( const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & BlendFactor )


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

code: virtual void RHISetDepthBounds ( float MinDepth, float MaxDepth )


code: virtual void RHISetExternalGPUTime ( uint32 InExternalGPUTime )


code: virtual void RHISetDepthStencilState ( [FRHIDepthStencilState](API\Runtime\RHI\FRHIDepthStencilState) * NewState, uint32 StencilRef )


code: virtual void RHISetComputeShader ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader )


description: This will set most relevant pipeline state. Legacy APIs are expected to set corresponding disjoint state as well.

code: virtual void RHISetGraphicsPipelineState ( [FRHIGraphicsPipelineState](API\Runtime\RHI\FRHIGraphicsPipelineState) * GraphicsState, uint32 StencilRef, bool bApplyAdditionalState )


description: Useful when used with geometry shader (emit polygons to different viewports), otherwise SetViewPort() is simpler

code: virtual void RHISetMultipleViewports ( uint32 Count, const [FViewportBounds](API\Runtime\RHI\FViewportBounds) * Data )


code: virtual void RHISetRasterizerState ( [FRHIRasterizerState](API\Runtime\RHI\FRHIRasterizerState) * NewState )


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


code: virtual void RHISetShaderParameter ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 BufferIndex, uint32 BaseIndex, uint32 NumBytes, const void * NewValue )


code: virtual void RHISetShaderParameter ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, uint32 BufferIndex, uint32 BaseIndex, uint32 NumBytes, const void * NewValue )


code: virtual void RHISetShaderParameters ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< [FRHIShaderParameter](API\Runtime\RHI\FRHIShaderParameter) > InParameters, TConstArrayView< [FRHIShaderParameterResource](API\Runtime\RHI\FRHIShaderParameterResource) > InResourceParameters, TConstArrayView< [FRHIShaderParameterResource](API\Runtime\RHI\FRHIShaderParameterResource) > InBindlessParameters )


code: virtual void RHISetShaderParameters ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< [FRHIShaderParameter](API\Runtime\RHI\FRHIShaderParameter) > InParameters, TConstArrayView< [FRHIShaderParameterResource](API\Runtime\RHI\FRHIShaderParameterResource) > InResourceParameters, TConstArrayView< [FRHIShaderParameterResource](API\Runtime\RHI\FRHIShaderParameterResource) > InBindlessParameters )


code: virtual void RHISetShaderResourceViewParameter ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, uint32 SamplerIndex, [FRHIShaderResourceView](API\Runtime\RHI\FRHIShaderResourceView) * SRV )


code: virtual void RHISetShaderResourceViewParameter ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 SamplerIndex, [FRHIShaderResourceView](API\Runtime\RHI\FRHIShaderResourceView) * SRV )


description: Sets sampler state.

code: virtual void RHISetShaderSampler ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 SamplerIndex, [FRHISamplerState](API\Runtime\RHI\FRHISamplerState) * NewState )


description: Sets sampler state.

code: virtual void RHISetShaderSampler ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, uint32 SamplerIndex, [FRHISamplerState](API\Runtime\RHI\FRHISamplerState) * NewState )


description: Set the shader resource view of a surface.

code: virtual void RHISetShaderTexture ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, uint32 TextureIndex, [FRHITexture](API\Runtime\RHI\FRHITexture) * NewTexture )


description: Set the shader resource view of a surface. This is used for binding TextureMS parameter types that need a multi sampled view.

code: virtual void RHISetShaderTexture ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 TextureIndex, [FRHITexture](API\Runtime\RHI\FRHITexture) * NewTexture )


code: virtual void RHISetShaderUnbinds ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, TConstArrayView< [FRHIShaderParameterUnbind](API\Runtime\RHI\FRHIShaderParameterUnbind) > InUnbinds )


code: virtual void RHISetShaderUnbinds ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * Shader, TConstArrayView< [FRHIShaderParameterUnbind](API\Runtime\RHI\FRHIShaderParameterUnbind) > InUnbinds )


code: virtual void RHISetShaderUniformBuffer ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 BufferIndex, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) * Buffer )


code: virtual void RHISetShaderUniformBuffer ( [FRHIGraphicsShader](API\Runtime\RHI\FRHIGraphicsShader) * Shader, uint32 BufferIndex, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) * Buffer )


code: virtual void RHISetStaticUniformBuffers ( const [FUniformBufferStaticBindings](API\Runtime\RHI\FUniformBufferStaticBindings) & InUniformBuffers )


code: virtual void RHISetStencilRef ( uint32 StencilRef )


code: virtual void RHISetStreamSource ( uint32 StreamIndex, [FRHIBuffer](API\Runtime\RHI\FRHIBuffer) * VertexBuffer, uint32 Offset )


description: Sets a pixel shader UAV parameter.

code: virtual void RHISetUAVParameter ( [FRHIPixelShader](API\Runtime\RHI\FRHIPixelShader) * PixelShader, uint32 UAVIndex, [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UAV )


description: Sets a compute shader UAV parameter.

code: virtual void RHISetUAVParameter ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 UAVIndex, [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UAV )


description: Sets a compute shader counted UAV parameter and initial count

code: virtual void RHISetUAVParameter ( [FRHIComputeShader](API\Runtime\RHI\FRHIComputeShader) * ComputeShader, uint32 UAVIndex, [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView) * UAV, uint32 InitialCount )


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


description: Called by the RHI thread.

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


description: Submit the current command buffer to the GPU if possible.

code: virtual void RHISubmitCommandsHint()


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


code: virtual bool RHISupportsFramebufferSRGBEnable() const


code: virtual 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: Unlock a staging buffer previously locked with RHILockStagingBuffer.

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


description: Unlocks a previously locked RHI texture resource

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


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


code: virtual 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: virtual void RHIUnmapStagingSurface ( [FRHITexture](API\Runtime\RHI\FRHITexture) * Texture, uint32 GPUIndex )


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

code: virtual 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: virtual 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 RHIUpdateUniformBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & RHICmdList, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) * UniformBufferRHI, const void * Contents )


description: Write the fence in the GPU timeline. The fence can then be tested on the CPU to know if the previous GPU commands are completed.

code: virtual void RHIWriteGPUFence ( [FRHIGPUFence](API\Runtime\RHI\FRHIGPUFence) * FenceRHI )


code: void SetCustomPresent ( class [FRHICustomPresent](API\Runtime\RHI\FRHICustomPresent) * InCustomPresent )


code: void SetRenderTargets ( uint32 NumSimultaneousRenderTargets, const [FRHIRenderTargetView](API\Runtime\RHI\FRHIRenderTargetView) * NewRenderTargets, const [FRHIDepthRenderTargetView](API\Runtime\RHI\FRHIDepthRenderTargetView) * NewDepthStencilTarget )


code: void SetRenderTargetsAndClear ( const [FRHISetRenderTargetsInfo](API\Runtime\RHI\FRHISetRenderTargetsInfo) & RenderTargetsInfo )


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: virtual void Shutdown()


className: Singleton

code: static [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * Singleton = nullptr;


code: virtual void UnlockBuffer_BottomOfPipe ( [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 )


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 UnlockTexture2D_RenderThread ( class [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, FRHITexture2D * Texture, uint32 MipIndex, bool bLockWithinMiptail, bool bNeedsDefaultRHIFlush )


description: Remove query from Queries list upon its deletion.

code: void UnregisterQuery ( [FOpenGLRenderQuery](API\Runtime\OpenGLDrv\FOpenGLRenderQuery) * Query )


code: void UpdateSRV ( [FOpenGLShaderResourceView](API\Runtime\OpenGLDrv\FOpenGLShaderResourceView) * SRV )


description: Initialization constructor.

code: FOpenGLDynamicRHI()


description: Destructor

code: ~FOpenGLDynamicRHI()


className: FOpenGLDynamicRHI

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

code: class FOpenGLDynamicRHI : public [IOpenGLDynamicRHI](API\Runtime\OpenGLDrv\IOpenGLDynamicRHI), public [IRHICommandContextPSOFallback](API\Runtime\RHI\IRHICommandContextPSOFallback)


description: IDynamicRHIModule.

code: virtual bool IsSupported()


description: Creates a new instance of the dynamic RHI implemented by the module.

code: virtual [FDynamicRHI](API\Runtime\RHI\FDynamicRHI) * CreateRHI ( [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) RequestedFeatureLevel )


className: FOpenGLDynamicRHIModule

description: Implements the OpenGLDrv module as a dynamic RHI providing module.

code: class FOpenGLDynamicRHIModule : public [IDynamicRHIModule](API\Runtime\RHI\IDynamicRHIModule)


description:
Override this to set whether your module is allowed to be unloaded on the fly
Whether the module supports shutdown separate from the rest of the engine.

code: virtual bool SupportsDynamicReloading()


description: Optional.

code: static void BeginQuery ( GLenum QueryType, GLuint QueryId )


className: bBinaryProgramRetrievalFailed

description: This indicates failure when attempting to retrieve driver's binary representation of the hack program


code: static void BindBufferBase ( GLenum Target, GLuint Index, GLuint Buffer )


code: static void BindBufferRange ( GLenum Target, GLuint Index, GLuint Buffer, GLintptr Offset, GLsizeiptr Size )


code: static void BindImageTexture ( GLuint Unit, GLuint Texture, GLint Level, GLboolean Layered, GLint Layer, GLenum Access, GLenum Format )


code: static void BindSampler ( GLuint Unit, GLuint Sampler )


code: static void BindVertexBuffer ( GLuint BindingIndex, GLuint Buffer, GLintptr Offset, GLsizei Stride )


code: static void BlendEquationSeparatei ( GLuint Buf, GLenum ModeRGB, GLenum ModeAlpha )


code: static void BlendEquationi ( GLuint Buf, GLenum Mode )


code: static void BlendFuncSeparatei ( GLuint Buf, GLenum SrcRGB, GLenum DstRGB, GLenum SrcAlpha, GLenum DstAlpha )


className: bHasHardwareHiddenSurfaceRemoval

description: Whether device supports Hidden Surface Removal


code: static void BlendFunci ( GLuint Buf, GLenum Src, GLenum Dst )


code: static void BlitFramebuffer ( GLint SrcX0, GLint SrcY0, GLint SrcX1, GLint SrcY1, GLint DstX0, GLint DstY0, GLint DstX1, GLint DstY1, GLbitfield Mask, GLenum Filter )


description: This is to avoid a bug in Adreno drivers that define GL_ARM_shader_framebuffer_fetch_depth_stencil even when device does not support this extension


className: bRequiresDisabledEarlyFragmentTests

description: Some Mali devices do not work correctly with early_fragment_test enabled


className: bRequiresReadOnlyBuffersWorkaround

description: This is a workaround for a Mali bug where read-only buffers do not work when passed to functions


className: bSupportsASTCDecodeMode

description: GL_EXT_texture_compression_astc_decode_mode

code: static bool bSupportsASTCDecodeMode;


className: bSupportsBufferStorage

code: static bool bSupportsBufferStorage;


className: bSupportsColorBufferFloat

code: static bool bSupportsColorBufferFloat;


className: bSupportsDepthClamp

code: static bool bSupportsDepthClamp;


className: bSupportsDXT

description: GL_NV_texture_compression_s3tc, GL_EXT_texture_compression_s3tc

code: static bool bSupportsDXT;


description: OpenGL ES 3.0 profile

code: static bool bSupportsETC2;


className: bSupportsMultisampledRenderToTexture


className: bSupportsPixelLocalStorage

description: Workaround for GL_EXT_shader_pixel_local_storage

code: static bool bSupportsPixelLocalStorage;


className: bSupportsNVFrameBufferBlit

code: static bool bSupportsNVFrameBufferBlit;


className: bSupportsMobileMultiView

description: Whether device supports mobile multi-view

code: static bool bSupportsMobileMultiView;


className: bSupportsProgramBinary

code: static bool bSupportsProgramBinary;


className: bSupportsShaderDepthStencilFetch

description: GL_ARM_shader_framebuffer_fetch_depth_stencil


className: bSupportsShaderFramebufferFetch


className: bSupportsShaderMRTFramebufferFetch

description: GL_EXT_shader_framebuffer_fetch (MRT's)


className: bSupportsStandardDerivativesExtension


className: bTimerQueryCanBeDisjoint

description: Some timer query implementations are never disjoint

code: static bool bTimerQueryCanBeDisjoint;


code: static void BufferStorage ( GLenum Target, GLsizeiptr Size, const void * Data, GLbitfield Flags )


code: static void BufferSubData ( GLenum Target, GLintptr Offset, GLsizeiptr Size, const GLvoid * Data )


code: static void ClearBufferfi ( GLenum Buffer, GLint DrawBufferIndex, GLfloat Depth, GLint Stencil )


code: static void ClearBufferfv ( GLenum Buffer, GLint DrawBufferIndex, const GLfloat * Value )


code: static void ClearBufferiv ( GLenum Buffer, GLint DrawBufferIndex, const GLint * Value )


code: static void ClearDepth ( GLdouble Depth )


code: static void ColorMaskIndexed ( GLuint Index, GLboolean Red, GLboolean Green, GLboolean Blue, GLboolean Alpha )


code: static void CompressedTexImage3D ( GLenum Target, GLint Level, GLenum InternalFormat, GLsizei Width, GLsizei Height, GLsizei Depth, GLint Border, GLsizei ImageSize, const GLvoid * PixelData )


code: static void CompressedTexSubImage3D ( GLenum Target, GLint Level, GLint XOffset, GLint YOffset, GLint ZOffset, GLsizei Width, GLsizei Height, GLsizei Depth, GLenum Format, GLsizei ImageSize, const GLvoid * PixelData )


code: static void CopyBufferSubData ( GLenum ReadTarget, GLenum WriteTarget, GLintptr ReadOffset, GLintptr WriteOffset, GLsizeiptr Size )


code: static void CopyImageSubData ( GLuint SrcName, GLenum SrcTarget, GLint SrcLevel, GLint SrcX, GLint SrcY, GLint SrcZ, GLuint DstName, GLenum DstTarget, GLint DstLevel, GLint DstX, GLint DstY, GLint DstZ, GLsizei Width, GLsizei Height, GLsizei Depth )


code: static void CopyTexSubImage1D ( GLenum Target, GLint Level, GLint XOffset, GLint X, GLint Y, GLsizei Width )


code: static void CopyTexSubImage2D ( GLenum Target, GLint Level, GLint XOffset, GLint YOffset, GLint X, GLint Y, GLsizei Width, GLsizei Height )


code: static void CopyTexSubImage3D ( GLenum Target, GLint Level, GLint XOffset, GLint YOffset, GLint ZOffset, GLint X, GLint Y, GLsizei Width, GLsizei Height )


code: static FPlatformOpenGLContext * CreateContext ( FPlatformOpenGLDevice * Device, void * WindowHandle )


code: static FPlatformOpenGLDevice * CreateDevice()


className: CurrentFeatureLevelSupport

description: Describes which feature level is currently being supported


code: static void DeleteQueries ( GLsizei NumQueries, const GLuint * QueryIDs )


code: static void DeleteSamplers ( GLsizei Count, GLuint * Samplers )


code: static void DepthRange ( GLdouble Near, GLdouble Far )


code: static void DisableIndexed ( GLenum Parameter, GLuint Index )


code: static void DispatchCompute ( GLuint NumGroupsX, GLuint NumGroupsY, GLuint NumGroupsZ )


code: static void DispatchComputeIndirect ( GLintptr Offset )


code: static void DrawArraysInstanced ( GLenum Mode, GLint First, GLsizei Count, GLsizei InstanceCount )


code: static void DrawArraysIndirect ( GLenum Mode, const void * Offset )


code: static void DrawBuffer ( GLenum Mode )


code: static void DrawElementsIndirect ( GLenum Mode, GLenum Type, const void * Offset )


code: static void DrawBuffers ( GLsizei NumBuffers, const GLenum * Buffers )


code: static void DrawElementsInstanced ( GLenum Mode, GLsizei Count, GLenum Type, const GLvoid * Indices, GLsizei InstanceCount )


className: EFeatureLevelSupport

code: enum EFeatureLevelSupport { Invalid, ES2, ES31, ES32, }


code: static void EndQuery ( GLenum QueryType )


code: static void EnableIndexed ( GLenum Parameter, GLuint Index )


code: static void FramebufferTexture ( GLenum Target, GLenum Attachment, GLuint Texture, GLint Level )


code: static void FramebufferTexture2D ( GLenum Target, GLenum Attachment, GLenum TexTarget, GLuint Texture, GLint Level )


code: static void FramebufferTextureLayer ( GLenum Target, GLenum Attachment, GLuint Texture, GLint Level, GLint Layer )


code: static void FramebufferTexture3D ( GLenum Target, GLenum Attachment, GLenum TexTarget, GLuint Texture, GLint Level, GLint ZOffset )


code: static void FramebufferTexture2DMultisample ( GLenum Target, GLenum Attachment, GLenum TexTarget, GLuint Texture, GLint Level, GLint NumSamples )


code: static void FramebufferTextureMultiviewOVR ( GLenum Target, GLenum Attachment, GLuint Texture, GLint Level, GLint BaseViewIndex, GLsizei NumViews )


code: static void FramebufferTextureMultisampleMultiviewOVR ( GLenum Target, GLenum Attachment, GLuint Texture, GLint Level, GLsizei NumSamples, GLint BaseViewIndex, GLsizei NumViews )


code: static void GenBuffers ( GLsizei n, GLuint * buffers )


code: static void GenQueries ( GLsizei NumQueries, GLuint * QueryIDs )


code: static void GenerateMipmap ( GLenum Target )


code: static void GenTextures ( GLsizei n, GLuint * textures )


code: static void GenSamplers ( GLsizei Count, GLuint * Samplers )


code: static GLuint GetMajorVersion()


code: static GLsizei GetLabelObject ( GLenum Type, GLuint Object, GLsizei BufferSize, ANSICHAR * OutName )


code: static GLuint GetMinorVersion()


code: static GLint GetMaxMSAASamplesTileMem()


code: static void GetProgramBinary ( GLuint Program, GLsizei BufSize, GLsizei * Length, GLenum * BinaryFormat, void * Binary )


code: static void GetQueryObject ( GLuint QueryId, [EQueryMode](API\Runtime\OpenGLDrv\FOpenGLBase\EQueryMode) QueryMode, GLuint * OutResult )


description: Adreno doesn't support HALF_FLOAT.


code: static GLenum GetShadowDepthFormat()


code: static GLuint GetUniformBlockIndex ( GLuint Program, const GLchar * UniformBlockName )


code: static void InvalidateFramebuffer ( GLenum Target, GLsizei NumAttachments, const GLenum * Attachments )


code: static void * MapBufferRange ( GLenum Type, uint32 InOffset, uint32 InSize, [EResourceLockMode](API\Runtime\OpenGLDrv\FOpenGLBase\EResourceLockMode) LockMode )


className: MaxCombinedUAVUnits

code: static GLint MaxCombinedUAVUnits;


className: MaxComputeUAVUnits

code: static GLint MaxComputeUAVUnits;


code: static void LabelObject ( GLenum Type, GLuint Object, const ANSICHAR * Name )


className: MaxPixelUAVUnits

code: static GLint MaxPixelUAVUnits;


className: MaxMSAASamplesTileMem

description: Maximum number of MSAA samples supported on chip in tile memory, or 1 if not available

code: static GLint MaxMSAASamplesTileMem;


code: static void MemoryBarrier ( GLbitfield Barriers )


code: static void ProgramBinary ( GLuint Program, GLenum BinaryFormat, const void * Binary, GLsizei Length )


code: static void ProcessExtensions ( const [FString](API\Runtime\Core\Containers\FString) & ExtensionsString )


code: static void ProcessQueryGLInt()


code: static void ProgramUniform4uiv ( GLuint Program, GLint Location, GLsizei Count, const GLuint * Value )


code: static void PushGroupMarker ( const ANSICHAR * Name )


code: static void ReadBuffer ( GLenum Mode )


code: static void RenderbufferStorageMultisample ( GLenum Target, GLsizei Samples, GLint InternalFormat, GLsizei Width, GLsizei Height )


code: static void SetSamplerParameter ( GLuint Sampler, GLenum Parameter, GLint Value )


code: static void ProgramParameter ( GLuint Program, GLenum PName, GLint Value )


className: ShaderHighPrecision

description: GL_FRAGMENT_SHADER, GL_HIGH_FLOAT

code: static int ShaderHighPrecision;


className: ShaderLowPrecision

description: GL_FRAGMENT_SHADER, GL_LOW_FLOAT

code: static int ShaderLowPrecision;


className: ShaderMediumPrecision

description: GL_FRAGMENT_SHADER, GL_MEDIUM_FLOAT

code: static int ShaderMediumPrecision;


code: static bool SupportsASTCDecodeMode()


code: static bool SupportsBufferStorage()


code: static bool SupportsColorBufferFloat()


code: static bool SupportsDepthStencilRead()


code: static bool SupportsDepthClamp()


description: MLCHANGES END.


code: static bool SupportsDrawIndexOffset()


code: static bool SupportsDrawIndirect()


description: On iOS both glMapBufferOES() and glBufferSubData() for immediate vertex and index data is the slow path (they both hit GPU sync and data cache flush in driver according to profiling in driver symbols). Turning this to false reverts back to not using vertex and index buffers for glDrawArrays() and glDrawElements() on dynamic data.

code: static bool SupportsFastBufferData()


code: static bool SupportsFloatReadSurface()


code: static bool SupportsGenerateMipmap()


code: static bool SupportsImageExternal()


code: static bool SupportsMobileMultiView()


code: static bool SupportsIndexedExtensions()


code: static bool SupportsPixelLocalStorage()


code: static bool SupportsPolygonMode()


code: static bool SupportsProgramBinary()


code: static bool SupportsStructuredBuffers()


code: static bool SupportsTexture3D()


code: static bool SupportsTextureCompare()


code: static bool SupportsTextureLODBias()


code: static bool SupportsUniformBuffers()


description: MLCHANGES BEGIN  changed to use bSupportsDisjointTimeQueries.

code: static bool SupportsTimestampQueries()


code: static bool SupportsVertexArrayBGRA()


code: static void TexBuffer ( GLenum Target, GLenum InternalFormat, GLuint Buffer )


code: static void TexBufferRange ( GLenum Target, GLenum InternalFormat, GLuint Buffer, GLintptr Offset, GLsizeiptr Size )


code: static void TexImage3D ( GLenum Target, GLint Level, GLint InternalFormat, GLsizei Width, GLsizei Height, GLsizei Depth, GLint Border, GLenum Format, GLenum Type, const GLvoid * PixelData )


code: static void TexParameter ( GLenum Target, GLenum Parameter, GLint Value )


code: static bool TexStorage2DMultisample ( GLenum Target, GLsizei Samples, GLint InternalFormat, GLsizei Width, GLsizei Height, GLboolean FixedSampleLocations )


code: static bool TexStorage2D ( GLenum Target, GLint Levels, GLint InternalFormat, GLsizei Width, GLsizei Height, GLenum Format, GLenum Type, ETextureCreateFlags Flags )


code: static void TexStorage3D ( GLenum Target, GLint Levels, GLint InternalFormat, GLsizei Width, GLsizei Height, GLsizei Depth, GLenum Format, GLenum Type )


code: static void TexSubImage3D ( GLenum Target, GLint Level, GLint XOffset, GLint YOffset, GLint ZOffset, GLsizei Width, GLsizei Height, GLsizei Depth, GLenum Format, GLenum Type, const GLvoid * PixelData )


code: static bool TimerQueryDisjoint()


code: static void UniformBlockBinding ( GLuint Program, GLuint UniformBlockIndex, GLuint UniformBlockBinding )


code: static void UnmapBufferRange ( GLenum Type, uint32 InOffset, uint32 InSize )


code: static void UnmapBuffer ( GLenum Type )


code: static void VertexAttribBinding ( GLuint AttribIndex, GLuint BindingIndex )


code: static void VertexAttribDivisor ( GLuint Index, GLuint Divisor )


code: static void VertexAttribFormat ( GLuint AttribIndex, GLint Size, GLenum Type, GLboolean Normalized, GLuint RelativeOffset )


code: static void VertexAttribIFormat ( GLuint AttribIndex, GLint Size, GLenum Type, GLuint RelativeOffset )


code: static void VertexAttribIPointer ( GLuint Index, GLint Size, GLenum Type, GLsizei Stride, const GLvoid * Pointer )


code: static void VertexAttribPointer ( GLuint Index, GLint Size, GLenum Type, GLboolean Normalized, GLsizei Stride, const GLvoid * Pointer )


code: static void VertexBindingDivisor ( GLuint BindingIndex, GLuint Divisor )


className: FOpenGLES

code: struct FOpenGLES : public [FOpenGLBase](API\Runtime\OpenGLDrv\FOpenGLBase)


code: FOpenGLEUniformBufferData ( uint32 SizeInBytes )


description: Returns the time in ms that the GPU spent in this draw event. This blocks the CPU if necessary, so can cause hitching.

code: virtual float GetTiming()


className: FOpenGLEUniformBufferData

code: struct FOpenGLEUniformBufferData : public [FRefCountedObject](API\Runtime\Core\Templates\FRefCountedObject)

Data

type: TArray< uint32 ...


code: FOpenGLEventNode ( const TCHAR * InName, [FGPUProfilerEventNode](API\Runtime\RHI\FGPUProfilerEventNode) * InParent, class [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * InRHI )


className: FOpenGLEventNode

description: A single perf event node, which tracks information about a appBeginDrawEvent/appEndDrawEvent range.

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

Timing

type: FOpenGLBuffered...


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()


description: Start this frame of per tracking

code: virtual void StartFrame()


code: FOpenGLEventNodeFrame ( class [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * InRHI )


className: FOpenGLEventNodeFrame

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

code: class FOpenGLEventNodeFrame : public [FGPUProfilerEventNodeFrame](API\Runtime\RHI\FGPUProfilerEventNodeFrame)

DisjointQuery

type: FOpenGLDisjoint...

description: Disjoint query tracking whether the times reported by DumpEventTree are reliable.

RootEventTiming

description: Timer tracking inclusive time spent in the root nodes.


description: Issues an event for the query to poll.

code: void IssueEvent()


description: Waits for the event query to finish.

code: void WaitForCompletion()


description: Initialization constructor.

code: FOpenGLEventQuery()


className: FOpenGLEventQuery

description: A OpenGL event query resource.

code: class FOpenGLEventQuery


className: Frequency

code: static constexpr EShaderFrequency Frequency = SF_Geometry;


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


className: FOpenGLGeometryShader

code: class FOpenGLGeometryShader : public [FRHIGeometryShader](API\Runtime\RHI\FRHIGeometryShader), public [FOpenGLShader](API\Runtime\OpenGLDrv\FOpenGLShader)


description:
Poll the fence to see if the GPU has signaled it.
True if and only if the GPU fence has been inserted and the GPU has signaled the fence.

code: virtual bool Poll() const


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


className: FOpenGLGPUFence

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


code: void BeginFrame ( class [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * InRHI )


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


description: Measuring GPU frame time with a disjoint query.

code: static const int MAX_GPUFRAMEQUERIES = 4;


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


code: FOpenGLGPUProfiler ( class [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * InOpenGLRHI )


className: FOpenGLGPUProfiler

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 FOpenGLGPUProfiler : public [FGPUProfiler](API\Runtime\RHI\FGPUProfiler)

CurrentGPUFrameQueryIndex

type: int

FrameTiming

description: Used to measure GPU time per frame.

GPUHitchEventNodeFrames

type: TIndirectArray<...

description: GPU hitch profile histories

NestedFrameCount

description: Count the number of beginframe calls without matching endframe calls.

OpenGLRHI

type: FOpenGLDynamicR...


className: ShaderInfo

code: struct ShaderInfo

Bindings

type: FOpenGLShaderBi...

bValid

type: bool

Resource

type: GLuint

ShaderKey

type: FOpenGLCompiled...


code: FOpenGLLinkedProgramConfiguration()


className: FOpenGLLinkedProgramConfiguration

code: class FOpenGLLinkedProgramConfiguration

ProgramKey

type: FOpenGLProgramK...

Shaders

type: FOpenGLLinkedPr...


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


code: static constexpr EShaderFrequency Frequency = SF_Pixel;


className: FOpenGLPixelShader

code: class FOpenGLPixelShader : public [FRHIPixelShader](API\Runtime\RHI\FRHIPixelShader), public [FOpenGLShader](API\Runtime\OpenGLDrv\FOpenGLShader)


code: virtual bool GetInitializer ( [FRasterizerStateInitializerRHI](API\Runtime\RHI\FRasterizerStateInitializerRHI) & Init )


className: FOpenGLProgramKey

description: Unique identifier for a program. (composite of shader keys)

code: class FOpenGLProgramKey

ShaderHashes

type: FSHAHash[CrossC...


className: FOpenGLRasterizerState

code: class FOpenGLRasterizerState : public [FRHIRasterizerState](API\Runtime\RHI\FRHIRasterizerState)

Data

type: FOpenGLRasteriz...


className: FOpenGLRasterizerStateData

code: struct FOpenGLRasterizerStateData

CullMode

type: GLenum

DepthBias

type: float

DepthClipMode

type: ERasterizerDept...


code: static void ReleaseResource ( GLuint Resource, uint64 ResourceContext )


code: FOpenGLRenderQuery ( ERenderQueryType InQueryType )


className: FOpenGLRenderQuery

code: class FOpenGLRenderQuery : public [FRHIRenderQuery](API\Runtime\RHI\FRHIRenderQuery)

bInvalidResource

description: True if the context the query is in was released from another thread

QueryType

type: ERenderQueryTyp...

description: Todo: memory optimize

Resource

description: The query resource.

ResourceContext

description: Identifier of the OpenGL context the query is a part of.

Result

description: The cached query result.

TotalBegins

type: FThreadSafeCoun...


code: virtual void CleanupResources()


description: AB: moved from the header, since it was causing linker error when the header is included externally.

code: virtual void InitializeResources ( int32 NumCombinedTextures, int32 NumComputeUAVUnits )


description: The RHI does not allow more than 14 constant buffers per shader stage due to D3D11 limits.

code: enum { MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 14 }


className: FOpenGLRHIState

code: struct FOpenGLRHIState : public [FOpenGLCommonState](API\Runtime\OpenGLDrv\FOpenGLCommonState)

bAnyDirtyGraphicsUniformBuffers

description: Bit array to track which uniform buffers have changed since the last draw call.

bAnyDirtyRealUniformBuffers

description: Array to track if any real (not emulated) uniform buffers have been bound since the last draw call

BlendState

type: FOpenGLBlendSta...

BoundShaderState

type: TRefCountPtr<F...

BoundUniformBuffers

type: FRHIUniformBuff...

description: Track the currently bound uniform buffers.

CurrentComputeShader

type: FComputeShaderR...

DepthStencil

type: FOpenGLTexture...

DepthStencilState

type: FOpenGLDepthSte...

DynamicVertexStream

type: FOpenGLStream

description: Information about pending BeginDraw[Indexed]PrimitiveUP calls.

LinkedProgramAndDirtyFlag

description: We null this when the we dirty PackedGlobalUniformDirty. Thus we can skip all of CommitNonComputeShaderConstants if it matches the current program

NumRenderingSamples

description: Pending framebuffer setup.

Scissor

type: FIntRect

ShaderParameters

type: FOpenGLShaderPa...

StencilStoreAction

type: ERenderTargetSt...

UpIndexBuffer

type: void *

UpVertexBufferBytes

description: Used for if(!FOpenGL::SupportsFastBufferData())


className: FOpenGLSamplerState

code: class FOpenGLSamplerState : public [FRHISamplerState](API\Runtime\RHI\FRHISamplerState)

Data

type: FOpenGLSamplerS...

Resource

type: GLuint


className: FOpenGLSamplerStateData

code: struct FOpenGLSamplerStateData

CompareFunc

type: GLint


description: Compiles an OpenGL shader using the given GLSL microcode.

code: void Compile ( GLenum TypeEnum )


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


className: EGLSamplerData

description: These enum is just used to count the number of members in this struct.

code: enum EGLSamplerData { EGLSamplerData_WrapS, EGLSamplerData_WrapT, EGLSamplerData_WrapR, EGLSamplerData_LODBias, EGLSamplerData_MagFilter, EGLSamplerData_MinFilter, EGLSamplerData_MaxAniso, EGLSamplerData_CompareMode, EGLSamplerData_CompareFunc, EGLSamplerData_Num, }


className: FOpenGLShader

description: OpenGL shader resource.

code: class FOpenGLShader

Bindings

type: FOpenGLShaderBi...

description: External bindings for this shader.

Resource

description: The OpenGL resource ID.

ShaderCodeKey

type: FOpenGLCompiled...

StaticSlots

type: TArray< FUnifor...

description: Static slots for each uniform buffer.

UniformBuffersCopyInfo

type: TArray<CrossCo...

description: List of memory copies from RHIUniformBuffer to packed uniforms.


className: FOpenGLShaderBindings

description: Shader binding information.

code: struct FOpenGLShaderBindings

bFlattenUB

type: bool

InputVaryings

type: TArray<FOpenGL...

PackedUniformBuffers

type: TArray<TArray<...

ShaderResourceTable

type: FShaderResource...

VaryingHash

type: FSHAHash


className: FOpenGLShaderDeviceCapabilities

description: GL device capabilities for generating GLSL compilable on platform with described capabilities

code: struct FOpenGLShaderDeviceCapabilities

MaxRHIShaderPlatform

type: EShaderPlatform

TargetPlatform

type: EOpenGLShaderTa...


code: void CommitPackedUniformBuffers ( FOpenGLLinkedProgram * LinkedProgram, int32 Stage, [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer) ** UniformBuffers, const [TArray](API\Runtime\Core\Containers\TArray)< [CrossCompiler::FUniformBufferCopyInfo](API\Runtime\RenderCore\FUniformBufferCopyInfo) > & UniformBuffersCopyInfo )


description: Marks all uniform arrays as dirty.

code: void MarkAllDirty()


description: Set parameter values.

code: void Set ( uint32 BufferIndex, uint32 ByteOffset, uint32 NumBytes, const void * NewValues )


description: Constructor.

code: FOpenGLShaderParameterCache()


className: FOpenGLShaderParameterCache

description: Caching of OpenGL uniform parameters.

code: class FOpenGLShaderParameterCache


description: Commit shader parameters to the currently bound program.

code: void CommitPackedGlobals ( const FOpenGLLinkedProgram * LinkedProgram, int32 Stage )


code: void InitializeResources ( int32 UniformArraySize )


description: Destructor.

code: ~FOpenGLShaderParameterCache()


code: [FOpenGLViewableResource](API\Runtime\OpenGLDrv\FOpenGLViewableResource) * GetBaseResource() const


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


code: virtual ~FOpenGLShaderResourceView()


className: FOpenGLShaderVarying

code: struct FOpenGLShaderVarying

Varying

type: TArray< ANSICHA...


className: FOpenGLShaderResourceView

code: class FOpenGLShaderResourceView : public [FRHIShaderResourceView](API\Runtime\RHI\FRHIShaderResourceView), public [FOpenGLView](API\Runtime\OpenGLDrv\FOpenGLView)

Resource

description: OpenGL texture the buffer is bound with

Target

type: GLenum


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

code: virtual uint64 GetGPUSizeBytes() const


description: Locks the shadow of VertexBuffer for read. This will stall the RHI thread.

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


description: Unlocks the shadow. This is an error if it was not locked previously.

code: virtual void Unlock()


className: FOpenGLStagingBuffer

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


code: void AliasResources ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) & Texture )


description: Clone texture from a source using CopyImageSubData

code: void CloneViaCopyImage ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * Src, uint32 InNumMips, int32 SrcOffset, int32 DstOffset )


className: FOpenGLStream

code: struct FOpenGLStream


className: EAliasConstructorParam

description: Constructor for RHICreateAliasedTexture.

code: enum EAliasConstructorParam { AliasResource, }


description: Returns the size of the memory block that is returned from Lock, threadsafe

code: uint32 GetLockSize ( uint32 MipIndex, uint32 ArrayIndex, EResourceLockMode LockMode, uint32 & DestStride )


description: FRHITextureoverride. SeeFRHITexture::GetNativeResource()

code: virtual void * GetNativeResource() const


description: GetRawResourceName - A const accessor to the resource name, this could potentially be an evicted resource. It will not trigger the GL resource's creation.

code: GLuint GetRawResourceName() const


description: GetRawResourceNameRef - A const accessor to the resource name, this could potentially be an evicted resource. It will not trigger the GL resource's creation.

code: const GLuint & GetRawResourceNameRef() const


description:
Returns access to the platform-specific RHI texture baseclass. This is designed to provide the RHI with fast access to its base classes in the face of multiple inheritance.
The pointer to the platform-specific RHI texture baseclass or NULL if it not initialized or not supported for this RHI

code: virtual void * GetTextureBaseRHI()


description:
Locks one of the texture's mip-maps.
A pointer to the specified texture data.

code: void * Lock ( uint32 MipIndex, uint32 ArrayIndex, EResourceLockMode LockMode, uint32 & DestStride )


description: Resolved the specified face for a read Lock, for non-renderable, CPU readable surfaces this eliminates the readback inside Lock itself.

code: void Resolve ( uint32 MipIndex, uint32 ArrayIndex )


description: Accessors to mark whether or not we have allocated storage for each mip/face. For non-cubemaps FaceIndex should always be zero.

code: bool GetAllocatedStorageForMip ( uint32 MipIndex, uint32 FaceIndex ) const


description: Set allocated storage state for all mip/faces.

code: void SetAllocatedStorage ( bool bInAllocatedStorage )


description: Texture eviction.

code: void RestoreEvictedGLResource ( bool bAttemptToRetainMips )


code: void SetAllocatedStorageForMip ( uint32 MipIndex, uint32 FaceIndex )


code: void SetResource ( GLuint InResource )


description: Unlocks a previously locked mip-map.

code: void Unlock ( uint32 MipIndex, uint32 ArrayIndex )


description: Prevent copying.

code: FOpenGLTexture &40; FOpenGLTexture const & &41;


description: Standard constructor.

code: FOpenGLTexture ( [FOpenGLTextureCreateDesc](API\Runtime\OpenGLDrv\FOpenGLTextureCreateDesc) const & CreateDesc )


description: Constructor for external resources (RHICreateTexture2DFromResource etc).

code: FOpenGLTexture ( [FOpenGLTextureCreateDesc](API\Runtime\OpenGLDrv\FOpenGLTextureCreateDesc) const & CreateDesc, GLuint Resource )


code: FOpenGLTexture ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) & Texture, const [FString](API\Runtime\Core\Containers\FString) & Name, [EAliasConstructorParam](API\Runtime\OpenGLDrv\FOpenGLTexture\EAliasConstructorParam) )


className: FOpenGLTexture

code: class FOpenGLTexture : public [FRHITexture](API\Runtime\RHI\FRHITexture), public [FOpenGLViewableResource](API\Runtime\OpenGLDrv\FOpenGLViewableResource)

Attachment

type: GLenum const

description: The OpenGL attachment point.

bAlias

type: uint8 const:  1

EvictionParamsPtr

type: TUniquePtr<FTe...

MemorySize

type: uint32 const

SamplerState

description: Pointer to current sampler state in this unit.

description: The OpenGL texture target.


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


className: FOpenGLTextureCreateDesc

code: class FOpenGLTextureCreateDesc : public [FRHITextureCreateDesc](API\Runtime\RHI\FRHITextureCreateDesc), public [FOpenGLTextureDesc](API\Runtime\OpenGLDrv\FOpenGLTextureDesc)


code: FOpenGLTextureDesc ( [FRHITextureDesc](API\Runtime\RHI\FRHITextureDesc) const & InDesc )


description: Provides public non-const access to ResourceTable.

code: [TArray](API\Runtime\Core\Containers\TArray)< [TRefCountPtr](API\Runtime\Core\Templates\TRefCountPtr)< [FRHIResource](API\Runtime\RHI\FRHIResource) > > & GetResourceTable()


className: FOpenGLTextureDesc

code: class FOpenGLTextureDesc

bArrayTexture

type: uint8:  1


code: void SetGLUniformBufferParams ( GLuint InResource, uint32 InOffset, uint8 * InPersistentlyMappedBuffer, uint32 InAllocatedSize, FOpenGLEUniformBufferDataRef InEmulatedBuffer, bool bInStreamDraw )


code: void SetLayoutTable ( const void * Contents, EUniformBufferValidation Validation )


description: Initialization constructor.

code: FOpenGLUniformBuffer ( const [FRHIUniformBufferLayout](API\Runtime\RHI\FRHIUniformBufferLayout) * InLayout )


description: Destructor.

code: ~FOpenGLUniformBuffer()


className: FOpenGLUniformBuffer

code: class FOpenGLUniformBuffer : public [FRHIUniformBuffer](API\Runtime\RHI\FRHIUniformBuffer)

AllocatedSize

description: The size of the buffer allocated to hold the uniform buffer contents. May be larger than necessary.

bIsEmulatedUniformBuffer

description: True if the uniform buffer is emulated

bStreamDraw

description: True if the uniform buffer is not used across frames.

EmulatedBufferData

type: FOpenGLEUniform...

description: Emulated uniform data for ES2.

Offset

description: The offset of the uniform buffer's contents in the resource.

PersistentlyMappedBuffer

type: uint8 *

description: When using a persistently mapped buffer this is a pointer to the CPU accessible data.

Resource

type: GLuint

description: The GL resource for this uniform buffer.

UniqueID

description: Unique ID for state shadowing purposes.


code: [FOpenGLViewableResource](API\Runtime\OpenGLDrv\FOpenGLViewableResource) * GetBaseResource() const


code: virtual ~FOpenGLUnorderedAccessView()


className: FOpenGLUnorderedAccessView

code: class FOpenGLUnorderedAccessView : public [FRHIUnorderedAccessView](API\Runtime\RHI\FRHIUnorderedAccessView), public [FOpenGLView](API\Runtime\OpenGLDrv\FOpenGLView)


code: virtual bool GetInitializer ( FVertexDeclarationElementList & Init )


className: FOpenGLVertexDeclaration

description: This represents a vertex declaration that hasn't been combined with a specific shader to create a bound shader.

code: class FOpenGLVertexDeclaration : public [FRHIVertexDeclaration](API\Runtime\RHI\FRHIVertexDeclaration)

VertexElements

type: FOpenGLVertexEl...

description: Elements of the vertex declaration.


description: Initialization constructor.

code: FOpenGLVertexDeclaration ( const FOpenGLVertexElements & InElements, const uint16 * InStrides )


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


className: FOpenGLVertexElement

code: struct FOpenGLVertexElement


className: Frequency

code: static constexpr EShaderFrequency Frequency = SF_Vertex;


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


className: FOpenGLVertexShader

code: class FOpenGLVertexShader : public [FRHIVertexShader](API\Runtime\RHI\FRHIVertexShader), public [FOpenGLShader](API\Runtime\OpenGLDrv\FOpenGLShader)


className: FOpenGLView

code: class FOpenGLView : public [TIntrusiveLinkedList< FOpenGLView >](API\Runtime\Core\Containers\TIntrusiveLinkedList)


className: FOpenGLViewableResource

code: class FOpenGLViewableResource


code: [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * GetBackBuffer() const


description: Returns currently set custom present handler.

code: virtual [FRHICustomPresent](API\Runtime\RHI\FRHICustomPresent) * GetCustomPresent() const


code: FPlatformOpenGLContext * GetGLContext() const


description:
Returns access to the platform-specific native window. This is designed to be used to provide plugins with access to the underlying resource and should be used very carefully or not at all.
The pointer to the native resource or NULL if it not initialized or not supported for this resource type for some reason. AddParam could represent any additional platform-specific data (could be null).

code: virtual void * GetNativeWindow ( void ** AddParam ) const


code: [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * GetOpenGLRHI() const


description: Accessors.

code: FIntPoint GetSizeXY() const


code: void Resize ( uint32 InSizeX, uint32 InSizeY, bool bInIsFullscreen )


description: Sets custom Present handler on the viewport

code: virtual void SetCustomPresent ( [FRHICustomPresent](API\Runtime\RHI\FRHICustomPresent) * )


code: FOpenGLViewport ( class [FOpenGLDynamicRHI](API\Runtime\OpenGLDrv\FOpenGLDynamicRHI) * InOpenGLRHI, void * InWindowHandle, uint32 InSizeX, uint32 InSizeY, bool bInIsFullscreen, EPixelFormat PreferredPixelFormat )


code: void Execute ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) & CmdList )


className: FOpenGLViewport

code: class FOpenGLViewport : public [FRHIViewport](API\Runtime\RHI\FRHIViewport)


code: FRHICommandGLCommand ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void()> InGLFunction )


className: FRHICommandGLCommand

code: struct FRHICommandGLCommand : public [FRHICommand< FRHICommandGLCommand, FRHICommandGLCommandString >](API\Runtime\RHI\FRHICommand)

GLFunction

type: TUniqueFunction...


className: FRHICommandGLCommandString

code: struct FRHICommandGLCommandString


code: bool Add ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * TextureBase )


className: FOpenGLTextureLRUContainer

code: typedef [TPsoLruCache](API\Runtime\RHI\TPsoLruCache)< [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) *, [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * > FOpenGLTextureLRUContainer


code: static [FTextureEvictionLRU](API\Runtime\OpenGLDrv\FTextureEvictionLRU) & Get()


code: void Remove ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * TextureBase )


code: void Touch ( [FOpenGLTexture](API\Runtime\OpenGLDrv\FOpenGLTexture) * TextureBase )


className: FTextureEvictionLRU

code: class FTextureEvictionLRU


code: void CloneMipData ( const [FTextureEvictionParams](API\Runtime\OpenGLDrv\FTextureEvictionParams) & Src, uint32 NumMips, int32 SrcOffset, int DstOffset )


code: FAnsiCharArray & GetDebugLabelName()


code: uint32 GetTotalAllocated() const


code: void ReleaseMipData ( uint32 RetainMips )


code: void SetDebugLabelName ( const FAnsiCharArray & TextureDebugNameIn )


code: void SetDebugLabelName ( const ANSICHAR * TextureDebugNameIn )


code: void SetMipData ( uint32 MipIndex, const void * Data, uint32 Bytes )


code: FTextureEvictionParams ( uint32 NumMips )


className: FTextureEvictionParams

code: class FTextureEvictionParams

bHasRestored

type: uint32:  1

LRUNode

type: FSetElementId

MipImageData

type: TArray<TArray<...

TextureDebugName

type: FAnsiCharArray


className: FTextureStage

code: struct FTextureStage

bHasMips

type: bool

SRV

type: FOpenGLShaderRe...

Texture

type: FOpenGLTexture...


className: FUAVStage

code: struct FUAVStage

Access

type: GLenum

Layer

type: GLint


code: virtual ERHIInterfaceType GetInterfaceType() const


code: FTexture2DRHIRef RHICreateTexture2DArrayFromResource ( EPixelFormat Format, uint32 SizeX, uint32 SizeY, uint32 ArraySize, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


code: FTexture2DRHIRef RHICreateTexture2DFromResource ( EPixelFormat Format, uint32 SizeX, uint32 SizeY, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


code: FTextureCubeRHIRef RHICreateTextureCubeFromResource ( EPixelFormat Format, uint32 Size, bool bArray, uint32 ArraySize, uint32 NumMips, uint32 NumSamples, uint32 NumSamplesTileMem, const [FClearValueBinding](API\Runtime\RHI\FClearValueBinding) & ClearValueBinding, GLuint Resource, ETextureCreateFlags Flags )


code: int32 RHIGetGLMajorVersion() const


code: int32 RHIGetGLMinorVersion() const


code: GLuint RHIGetResource ( [FRHITexture](API\Runtime\RHI\FRHITexture) * InTexture ) const


code: bool RHIIsValidTexture ( GLuint InTexture ) const


code: void RHISetExternalGPUTime ( uint32 InExternalGPUTime )


className: IOpenGLDynamicRHI

code: struct IOpenGLDynamicRHI : public [FDynamicRHIPSOFallback](API\Runtime\RHI\FDynamicRHIPSOFallback)


code: namespace OpenGLBufferStats { void OpenGLBufferStats::UpdateBufferStats ( const [FRHIBufferDesc](API\Runtime\RHI\FRHIBufferDesc) & BufferDesc, bool bAllocating ) }


code: namespace OpenGLBufferStats { void OpenGLBufferStats::UpdateUniformBufferStats ( int64 BufferSize, bool bAllocating ) }


code: uint8 * Lock ( uint32 InOffset, uint32 InSize, bool bReadOnly, bool bDiscard )


code: uint8 * LockWriteOnlyUnsynchronized ( uint32 InOffset, uint32 InSize, bool bDiscard )


code: void TakeOwnership ( [TOpenGLBuffer](API\Runtime\OpenGLDrv\TOpenGLBuffer) & Other )


code: void Update ( void * InData, uint32 InOffset, uint32 InSize, bool bDiscard )


code: TOpenGLBuffer ( [FRHICommandListBase](API\Runtime\RHI\FRHICommandListBase) * RHICmdList, GLenum InType, [FRHIBufferDesc](API\Runtime\RHI\FRHIBufferDesc) const & BufferDesc, const void * InData )


className: TOpenGLBuffer

code: template<typename BaseType, BufferBindFunction BufBind> class TOpenGLBuffer : public BaseType


className: TOpenGLResourceTraits

code: template<class T> struct TOpenGLResourceTraits


className: TConcreteType

code: typedef FOpenGLBlendState TConcreteType


className: TOpenGLResourceTraits< FRHIBlendState >

code: template<> struct TOpenGLResourceTraits< FRHIBlendState >


code: template<> struct TOpenGLResourceTraits< FRHIBoundShaderState >


className: TOpenGLResourceTraits< FRHIBuffer >

code: template<> struct TOpenGLResourceTraits< FRHIBuffer >


code: typedef FOpenGLBuffer TConcreteType


code: template<> struct TOpenGLResourceTraits< FRHIComputeShader >


code: template<> struct TOpenGLResourceTraits< FRHIDepthStencilState >


code: template<> struct TOpenGLResourceTraits< FRHIGeometryShader >


code: typedef FOpenGLGPUFence TConcreteType


className: TOpenGLResourceTraits< FRHIGPUFence >

code: template<> struct TOpenGLResourceTraits< FRHIGPUFence >


code: template<> struct TOpenGLResourceTraits< FRHIPixelShader >


code: template<> struct TOpenGLResourceTraits< FRHIRasterizerState >


code: template<> struct TOpenGLResourceTraits< FRHIRenderQuery >


code: template<> struct TOpenGLResourceTraits< FRHISamplerState >


code: template<> struct TOpenGLResourceTraits< FRHIShaderResourceView >


code: template<> struct TOpenGLResourceTraits< FRHIStagingBuffer >


code: template<> struct TOpenGLResourceTraits< FRHIUniformBuffer >


code: template<> struct TOpenGLResourceTraits< FRHIUnorderedAccessView >


code: template<> struct TOpenGLResourceTraits< FRHIVertexDeclaration >


code: template<> struct TOpenGLResourceTraits< FRHIVertexShader >


code: typedef FOpenGLViewport TConcreteType


className: TOpenGLResourceTraits< FRHIViewport >

code: template<> struct TOpenGLResourceTraits< FRHIViewport >


code: void Init ( uint32 InitialBufferSize )


code: uint8 * Lock ( uint32 DataSize )


code: virtual ~TOpenGLStreamedBufferArray()


className: TOpenGLStreamedBufferArray

code: template<typename BaseType, uint32 Stride> class TOpenGLStreamedBufferArray


className: FOverlayItem

module: Overlay

code: struct FOverlayItem

EndTime

type: FTimespan

description: When the overlay should be cleared

Position

description: The position of the text on screen (Between 0.0 and 1.0)

StartTime

description: When the overlay should be displayed

Text

type: FString

description: Text that appears onscreen when the overlay is shown


description:
Opens the file and preparses it for import
True if the file was opened successfully, false if the file could not be opened or is not an overlay file.

code: bool OpenFile ( const [FString](API\Runtime\Core\Containers\FString) & FilePath )


description: Resets the importer to a default state

code: void Reset()


className: FOverlaysImporter

code: class FOverlaysImporter


description: Virtual destructor

code: virtual ~IOverlayModule()


className: IOverlayModule

description: Interface for the Overlay module

code: class IOverlayModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


description:
Parses the supplied import file for basic overlay data
True if the file was parsed successfully

code: bool ImportBasic ( [TArray](API\Runtime\Core\Containers\TArray)< [FOverlayItem](API\Runtime\Overlay\FOverlayItem) > & OutOverlays ) const


description: Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

code: virtual void GetAssetRegistryTags ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTags ) const


description: Retrieves the set of overlays that should be used by this object (must be implemented by child classes)

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FOverlayItem](API\Runtime\Overlay\FOverlayItem) > GetAllOverlays() const


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


description: Retrieves the set of overlays associated with this object for the given timespan (must be implemented by child classes)

code: virtual void GetOverlaysForTime ( const [FTimespan](API\Runtime\Core\Misc\FTimespan) & Time, [TArray](API\Runtime\Core\Containers\TArray)< [FOverlayItem](API\Runtime\Overlay\FOverlayItem) > & OutOverlays ) const


className: UBasicOverlays

description: Implements an asset that contains a set of overlay data (which includes timing, text, and position) to be displayed for any given source (including, but not limited to, audio, dialog, and movies)

code: class UBasicOverlays : public [UOverlays](API\Runtime\Overlay\UOverlays)

AssetImportData

type: TObjectPtr<UAs...

description: The import data used to make this overlays asset

Overlays

type: TArray<FOverla...

description: The overlay data held by this asset. Contains info on timing, position, and the subtitle to display


className: ULocalizedOverlays

description: Implements an asset that contains a set of Basic Overlays that will be displayed in accordance with the current locale, or a default set if an appropriate locale is not found

code: class ULocalizedOverlays : public [UOverlays](API\Runtime\Overlay\UOverlays)

DefaultOverlays

type: TObjectPtr<UBa...

description: The overlays to use if no overlays are found for the current culture

LocaleToOverlaysMap

type: TMap<FString, ...

description: Maps a set of cultures to specific BasicOverlays assets.


className: UOverlays

description: An interface class for creating overlay data assets

code: class UOverlays : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


module: PacketHandler

code: void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description: Base constructor


code: BufferedPacket ( uint8 * InCopyData, uint32 InCountBits, [FOutPacketTraits](API\Runtime\NetCommon\Net\Common\Packets\FOutPacketTraits) & InTraits, double InResendTime, uint32 InId )


code: BufferedPacket ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FInternetAddr](API\Runtime\Sockets\FInternetAddr) > InAddress, uint8 * InCopyData, uint32 InCountBits, [FOutPacketTraits](API\Runtime\NetCommon\Net\Common\Packets\FOutPacketTraits) & InTraits, double InResendTime, uint32 InId )


description: BufferedPacket

code: ~BufferedPacket()


className: BufferedPacket

description: PacketHandlerwill buffer packets, this struct is used to buffer such packets while handler components are initialized

code: struct BufferedPacket

Address

type: TSharedPtr< con...

description: For connectionless packets, the address to send to

CountBits

description: Size of buffered packet in bits

Data

type: uint8 *

description: Buffered packet data

FromComponent

type: HandlerComponen...

description: If buffering a packet through 'SendHandlerPacket', track the originating component

Id

description: Used by ReliabilityHandlerComponent, to track packet id's

ResendTime

type: double

description: Used by ReliabilityHandlerComponent, to mark a packet for resending

Traits

type: FOutPacketTrait...

description: Traits applied to the packet, if applicable


description: Disable encryption. Future packets that are processed by this component will not be encrypted.

code: void DisableEncryption()


description: Enable encryption. Future packets that are processed by this component will be encrypted.Bydefault, encryption is disabled.

code: void EnableEncryption()


description: Returns true if encryption is currently enabled.

code: bool IsEncryptionEnabled() const


description: Sets the encryption data to be used by this component. This should be called before EnableEncryption.

code: void SetEncryptionData ( const [FEncryptionData](API\Runtime\CoreUObject\UObject\FEncryptionData) & EncryptionData )


description: Sets the encryption key to be used by this component. The key must be the correct size for the encryption algorithm that the component implements. This should be called before EnableEncryption.

code: virtual void SetEncryptionKey ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const uint8 > Key )


description: Constructor that forwards the name to the baseHandlerComponent.

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


className: FEncryptionComponent

description: IEncryptionComponentInterface

code: class FEncryptionComponent : public [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent)


className: FIncomingPacketRef

description: Parameters forHandlerComponentIncoming/IncomingConnectionless functions

code: struct FIncomingPacketRef

Address

type: constTSharedPt...

description: For IncomingConnectionless, the address of the received packet

Packet

type: FBitReader&

description: Incoming packet data being processed

type: FInPacketTraits...

description: Metadata and flags for the received packet, indicating what it contains and how to process it


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


description: Creates an instance of this component

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent) > CreateComponentInstance ( [FString](API\Runtime\Core\Containers\FString) & Options )


description: FPacketHandlerComponentModuleInterface

code: virtual void StartupModule()


className: FPacketHandlerComponentModuleInterface

description: PacketHandlerModule Interface

code: class FPacketHandlerComponentModuleInterface : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


description:
Whether or not the Incoming/IncomingConnectionless implementations, support reading Packets that aren't aligned at bit position 0 (i.e. whether or not this handler supports bit-level, rather than byte-level, reads)
Whether or not the above is supported

code: virtual bool CanReadUnaligned() const


code: virtual void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description: Returns the name of this component.


description: Delay deprecation for initial checkin

code: virtual void Incoming ( [FBitReader](API\Runtime\Core\Serialization\FBitReader) & Packet )


description:
IMPORTANT: This MUST be accurate, and should represent the worst-case number of reserved bits expected from the component. If this is inaccurate, packets will randomly fail to send, in rare cases which are extremely hard to trace.
The worst-case reserved packet bits for the component

code: int32 GetReservedPacketBits() const


description: Handles incoming packets

code: virtual void Incoming ( [FIncomingPacketRef](API\Runtime\PacketHandler\FIncomingPacketRef) PacketRef )


description: Initializes a reference to the NetConnection fault recovery interface (does not require Engine dependency)

code: virtual void InitFaultRecovery ( [UE::Net::FNetConnectionFaultRecoveryBase](API\Runtime\NetCore\Net\Core\Connection\FNetConnectionFaultRecoveryBase) * InFaultRecovery )


description: Handles incoming packets not associated with aUNetConnection

code: virtual void IncomingConnectionless ( [FIncomingPacketRef](API\Runtime\PacketHandler\FIncomingPacketRef) PacketRef )


description: Initialization functionality should be placed here

code: void Initialize()


description: Should be called when the handler is fully initialized on both remote and local

code: void Initialized()


description: Returns whether this handler is currently active

code: virtual bool IsActive() const


description: Returns whether this handler is initialized

code: bool IsInitialized() const


description: Return whether this handler is valid

code: bool IsValid() const


description: Notification that the analytics provider has been updated NOTE: Can also mean disabled, e.g. during hotfix

code: virtual void NotifyAnalyticsProvider()


description: Notification to this component that it is ready to begin handshaking

code: virtual void NotifyHandshakeBegin()


description: Handles any outgoing packets

code: virtual void Outgoing ( [FBitWriter](API\Runtime\Core\Serialization\FBitWriter) & Packet, [FOutPacketTraits](API\Runtime\NetCommon\Net\Common\Packets\FOutPacketTraits) & Traits )


description: Returns whether this handler perform a network handshake during initialization

code: bool RequiresHandshake() const


description: Handles any outgoing packets not associated with aUNetConnection

code: virtual void OutgoingConnectionless ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FInternetAddr](API\Runtime\Sockets\FInternetAddr) > & Address, [FBitWriter](API\Runtime\Core\Serialization\FBitWriter) & Packet, [FOutPacketTraits](API\Runtime\NetCommon\Net\Common\Packets\FOutPacketTraits) & Traits )


description: Sets the state of the handler

code: void SetState ( [UE::Handler::Component::State](API\Runtime\PacketHandler\UE__Handler__Component__State) State )


code: bool RequiresReliability() const


description: Sets whether this handler is currently active

code: virtual void SetActive ( bool Active )


description: Tick functionality should be placed here

code: virtual void Tick ( float DeltaTime )


description: HandlerComponent

code: HandlerComponent()


description: Constructor that accepts a name

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


description: Base destructor

code: virtual ~HandlerComponent()


className: HandlerComponent

description: This class appends or modifies incoming and outgoing packets on a connection

code: class HandlerComponent

bRequiresHandshake

type: bool

description: Whether this handler has to perform a network handshake during initialization (requires waiting on otherHandlerComponent's)

bRequiresReliability

description: Whether this handler depends upon the ReliabilityHandlerComponent being enabled

Handler

type: PacketHandler&...

description: The manager of the handler, set in initialization

MaxOutgoingBits

description: Maximum number of Outgoing packet bits supported (automatically calculated to factor in otherHandlerComponentreserved bits)

State

description: The state of this handler


description: Adds aHandlerComponentto the pipeline, prior to initialization (none can be added after initialization)

code: void AddHandler ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent) > & NewHandler, bool bDeferInitialize )


description: As above, but initializes from a string specifying the component module, and (optionally) additional options

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent) > AddHandler ( const [FString](API\Runtime\Core\Containers\FString) & ComponentStr, bool bDeferInitialize )


code: virtual void CountBytes ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


description:
Searches thePacketHandlerprofile configurations to find if a component is listed.
if there is a profile that has the component included.

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


description:
Searches thePacketHandlerprofile configuration for the given netdriver to find if a component is listed.
if the component is listed in the profile configuration.

code: static bool DoesProfileHaveComponent ( const [FName](API\Runtime\Core\UObject\FName) InNetDriverName, const [FString](API\Runtime\Core\Containers\FString) & InComponentName )


code: static FPacketHandlerAddComponentDelegate & GetAddComponentDelegate()


description: Returns the analytics aggregator


code: static FPacketHandlerAddComponentByNameDelegate & GetAddComponentByNameDelegate()


description: Returns a pointer to the first component in the HandlerComponents array with the specified name.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [HandlerComponent](API\Runtime\PacketHandler\HandlerComponent) > GetComponentByName ( [FName](API\Runtime\Core\UObject\FName) ComponentName ) const


description: Returns a pointer to the DDoS detection handler

code: [FDDoSDetection](API\Runtime\NetCore\Net\Core\Misc\FDDoSDetection) * GetDDoS() const


description: Returns the analytics provider

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IAnalyticsProvider](API\Runtime\Analytics\Interfaces\IAnalyticsProvider) > GetProvider() const


description:
Gets a packet from the buffered connectionless packet queue for sending
The packet to be sent, or nullptr if none are to be sent


description: Triggered by the higher level netcode, to begin any requiredHandlerComponenthandshakes

code: void BeginHandshaking ( FPacketHandlerHandshakeComplete InHandshakeDel )


description:
Gets a packet from the buffered packet queue for sending
The packet to be sent, or nullptr if none are to be sent