| FDynamicRHI | ||
| IRHICommandContextPSOFallback
|
Module |
|
Header |
/Engine/Source/Runtime/OpenGLDrv/Public/OpenGLDrv.h |
Include |
#include "OpenGLDrv.h" |
class FOpenGLDynamicRHI :
public FDynamicRHI,
public IRHICommandContextPSOFallback
The interface which is implemented by the dynamically bound RHI.
Name | Description | |
---|---|---|
|
FOpenGLDynamicRHI() |
Initialization constructor. |
Name | Description | |
---|---|---|
|
~FOpenGLDynamicRHI() |
Destructor |
Name | Description | ||
---|---|---|---|
|
BeginRenderQuery_OnThisThread ( |
||
|
CachedBindArrayBuffer ( |
||
|
CachedBindElementArrayBuffer ( |
||
|
CachedBindPixelUnpackBuffer ( |
||
|
CachedBindUniformBuffer ( |
||
|
CachedSetupTextureStage ( |
Set a resource on texture target of a specific real OpenGL stage. |
|
|
CachedSetupTextureStageInner ( |
||
|
CachedSetupUAVStage ( |
||
|
Cleanup() |
||
|
FRHITexture ... |
CreateOpenGLRHITextureOnly ( |
|
|
FRHITexture ... |
CreateOpenGLTexture ( |
|
|
FRHITexture ... |
CreateTexture2DAliased ( |
|
|
FRHITexture ... |
CreateTexture2DArrayAliased ( |
|
|
FRHITexture ... |
CreateTextureCubeAliased ( |
|
|
EndRenderQuery_OnThisThread ( |
||
|
FOpenGLConte... |
GetContextStateForCurrentContext ( |
|
|
FOpenGLGPUPr... |
GetGPUProfilingData() |
|
|
FOpenGLLinke... |
GetLinkedComputeProgram ( |
|
|
void * |
GetOpenGLCurrentContextHandle() |
|
|
FOpenGLSampl... |
GetPointSamplerState() |
|
|
GetRenderQueryResult_OnThisThread ( |
||
|
InitializeGLTexture ( |
||
|
InitializeGLTextureInternal ( |
||
|
InternalSetSamplerStates ( |
||
|
InternalSetShaderTexture ( |
Remember what RHI user wants set on a specific OpenGL texture stage, translating from Stage and TextureIndex for stage pair. |
|
|
InternalSetShaderUAV ( |
||
|
InvalidateQueries() |
Inform all queries about the need to recreate themselves after OpenGL context they're in gets deleted. |
|
|
InvalidateTextureResourceInCache ( |
||
|
InvalidateUAVResourceInCache ( |
||
|
IsUniformBufferBound ( |
||
|
OnIndexBufferDeletion ( |
||
|
OnPixelBufferDeletion ( |
||
|
OnProgramDeletion ( |
||
|
OnUniformBufferDeletion |
||
|
OnVertexBufferDeletion ( |
||
|
PurgeFramebufferFromCaches ( |
||
|
RegisterQuery ( |
Add query to Queries list upon its creation. |
|
|
TEnableIf<&#... |
ResourceCast ( |
|
|
ResourceCast ( |
If using a Proxy object return the contained GL object rather than the proxy itself. |
|
|
TEnableIf<&#... |
ResourceCast_Unfenced ( |
|
|
FBoundShader... |
RHICreateBoundShaderState_internal ( |
|
|
FBoundShader... |
RHICreateBoundShaderState_OnThisThread ( |
|
|
FTexture2DRH... |
RHICreateTexture2DArrayFromResource ( |
|
|
FTexture2DRH... |
RHICreateTexture2DFromResource ( |
|
|
FTextureCube... |
RHICreateTextureCubeFromResource ( |
|
|
SetCustomPresent ( |
||
|
SetRenderTargets ( |
||
|
SetRenderTargetsAndClear ( |
||
|
SetResourcesFromTables ( |
||
|
UnregisterQuery ( |
Remove query from Queries list upon its deletion. |
|
|
UpdateSRV ( |
Name | Description | ||
---|---|---|---|
|
FTexture2DRH... |
AsyncReallocateTexture2D_RenderThread ( |
|
|
ETextureReal... |
CancelAsyncReallocateTexture2D_RenderThread ( |
|
|
FComputeShad... |
CreateComputeShader_RenderThread ( |
|
|
FGeometrySha... |
CreateGeometryShader_RenderThread ( |
|
|
FHullShaderR... |
CreateHullShader_RenderThread ( |
|
|
FIndexBuffer... |
CreateIndexBuffer_RenderThread ( |
|
|
FPixelShader... |
CreatePixelShader_RenderThread ( |
|
|
FShaderResou... |
CreateShaderResourceView_RenderThread ( |
|
|
FShaderResou... |
CreateShaderResourceView_RenderThread ( |
|
|
FShaderResou... |
CreateShaderResourceView_RenderThread ( |
|
|
FStructuredB... |
CreateStructuredBuffer_RenderThread ( |
|
|
FVertexBuffe... |
CreateVertexBuffer_RenderThread ( |
|
|
FVertexShade... |
CreateVertexShader_RenderThread ( |
|
|
ETextureReal... |
FinalizeAsyncReallocateTexture2D_RenderThread ( |
|
|
const TCHAR ... |
GetName() |
|
|
Init() |
Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called. |
|
|
void * |
LockIndexBuffer_BottomOfPipe ( |
|
|
void * |
LockStagingBuffer_RenderThread ( |
Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall. |
|
void * |
LockStructuredBuffer_BottomOfPipe ( |
Buffer Lock/Unlock. |
|
void * |
LockTexture2D_RenderThread ( |
|
|
void * |
LockTexture2DArray_RenderThread ( |
|
|
void * |
LockVertexBuffer_BottomOfPipe ( |
|
|
PostInit() |
Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called. |
|
|
RHIAcquireThreadOwnership() |
FlushType: Flush RHI Thread. |
|
|
RHIAdvanceFrameForGetViewportBackBuffer ( |
Only relevant with an RHI thread, this advances the backbuffer for the purpose of GetViewportBackBuffer FlushType: Thread safe |
|
|
RHIAliasTextureResources ( |
||
|
FTexture2DRH... |
RHIAsyncCreateTexture2D ( |
FlushType: Thread safe. |
|
FTexture2DRH... |
RHIAsyncReallocateTexture2D ( |
Starts an asynchronous texture reallocation. |
|
RHIBindDebugLabelName ( |
FlushType: Thread safe. |
|
|
RHIBlockUntilGPUIdle() |
Blocks the CPU until the GPU catches up and goes idle. FlushType: Flush Immediate (seems wrong) |
|
|
RHICalcTexture2DPlatformSize ( |
FlushType: Thread safe. |
|
|
RHICalcTexture3DPlatformSize ( |
FlushType: Thread safe. |
|
|
RHICalcTextureCubePlatformSize ( |
FlushType: Thread safe. |
|
|
ETextureReal... |
RHICancelAsyncReallocateTexture2D ( |
Cancels an async reallocation for the specified texture. |
|
RHIComputeMemorySize ( |
Computes the size in memory required by a given texture. |
|
|
RHICopySharedMips ( |
FlushType: Flush RHI Thread. |
|
|
RHICopySubTextureRegion ( |
||
|
RHICopyVertexBuffer ( |
FlushType: Flush Immediate (seems dangerous) |
|
|
FTextureRHIR... |
RHICreateAliasedTexture ( |
|
|
FBlendStateR... |
RHICreateBlendState ( |
FlushType: Thread safe. |
|
FBoundShader... |
RHICreateBoundShaderState ( |
FlushType: Thread safe, but varies depending on the RHI. |
|
FComputeShad... |
RHICreateComputeShader ( |
FlushType: Wait RHI Thread. |
|
FDepthStenci... |
RHICreateDepthStencilState ( |
FlushType: Thread safe. |
|
FDomainShade... |
RHICreateDomainShader ( |
FlushType: Wait RHI Thread. |
|
FGeometrySha... |
RHICreateGeometryShader ( |
FlushType: Wait RHI Thread. |
|
FGPUFenceRHI... |
RHICreateGPUFence ( |
|
|
FHullShaderR... |
RHICreateHullShader ( |
FlushType: Wait RHI Thread. |
|
FIndexBuffer... |
RHICreateIndexBuffer ( |
FlushType: Wait RHI Thread. |
|
FPixelShader... |
RHICreatePixelShader ( |
FlushType: Wait RHI Thread. |
|
FRasterizerS... |
RHICreateRasterizerState ( |
FlushType: Thread safe. |
|
FRenderQuery... |
RHICreateRenderQuery ( |
FlushType: Wait RHI Thread. |
|
FRenderQuery... |
RHICreateRenderQuery_RenderThread ( |
|
|
FRenderQuery... |
RHICreateRenderQueryPool ( |
FlushType: Must be Thread-Safe. |
|
FSamplerStat... |
RHICreateSamplerState ( |
FlushType: Thread safe. |
|
FShaderResou... |
RHICreateShaderResourceView ( |
FlushType: Wait RHI Thread. |
|
FShaderResou... |
RHICreateShaderResourceView ( |
FlushType: Wait RHI Thread. |
|
FShaderResou... |
RHICreateShaderResourceView ( |
FlushType: Wait RHI Thread. |
|
FShaderResou... |
RHICreateShaderResourceView ( |
FlushType: Wait RHI Thread. |
|
FShaderResou... |
RHICreateShaderResourceView ( |
Creates a shader resource view |
|
FShaderResou... |
RHICreateShaderResourceView_RenderThread ( |
|
|
FShaderResou... |
RHICreateShaderResourceView_RenderThread ( |
|
|
FShaderResou... |
RHICreateShaderResourceView_RenderThread ( |
|
|
FShaderResou... |
RHICreateShaderResourceView_RenderThread ( |
|
|
FStagingBuff... |
RHICreateStagingBuffer() |
FlushType: Thread safe. |
|
FStructuredB... |
RHICreateStructuredBuffer ( |
FlushType: Wait RHI Thread. |
|
FTexture2DRH... |
RHICreateTexture2D ( |
Creates a 2D RHI texture resource |
|
FTexture2DRH... |
RHICreateTexture2D_RenderThread ( |
|
|
FTexture2DAr... |
RHICreateTexture2DArray ( |
FlushType: Wait RHI Thread. |
|
FTexture2DAr... |
RHICreateTexture2DArray_RenderThread ( |
|
|
FTexture3DRH... |
RHICreateTexture3D ( |
FlushType: Wait RHI Thread. |
|
FTexture3DRH... |
RHICreateTexture3D_RenderThread ( |
|
|
FTextureCube... |
RHICreateTextureCube ( |
FlushType: Wait RHI Thread. |
|
FTextureCube... |
RHICreateTextureCube_RenderThread ( |
|
|
FTextureCube... |
RHICreateTextureCubeArray ( |
FlushType: Wait RHI Thread. |
|
FTextureCube... |
RHICreateTextureCubeArray_RenderThread ( |
|
|
FTexture2DRH... |
RHICreateTextureExternal2D ( |
Creates a 2D RHI texture external resource |
|
FTexture2DRH... |
RHICreateTextureExternal2D_RenderThread ( |
|
|
FTextureRefe... |
RHICreateTextureReference ( |
FlushType: Wait RHI Thread. |
|
FTextureRefe... |
RHICreateTextureReference_RenderThread ( |
|
|
FUniformBuff... |
RHICreateUniformBuffer ( |
FlushType: Thread safe, but varies depending on the RHI. |
|
FUnorderedAc... |
RHICreateUnorderedAccessView ( |
FlushType: Wait RHI Thread. |
|
FUnorderedAc... |
RHICreateUnorderedAccessView ( |
FlushType: Wait RHI Thread. |
|
FUnorderedAc... |
RHICreateUnorderedAccessView ( |
FlushType: Wait RHI Thread. |
|
FUnorderedAc... |
RHICreateUnorderedAccessView ( |
FlushType: Wait RHI Thread. |
|
FUnorderedAc... |
RHICreateUnorderedAccessView_RenderThread ( |
|
|
FUnorderedAc... |
RHICreateUnorderedAccessView_RenderThread ( |
|
|
FUnorderedAc... |
RHICreateUnorderedAccessView_RenderThread ( |
|
|
FVertexBuffe... |
RHICreateVertexBuffer ( |
FlushType: Wait RHI Thread. |
|
FVertexDecla... |
RHICreateVertexDeclaration ( |
FlushType: Wait RHI Thread. |
|
FVertexShade... |
RHICreateVertexShader ( |
FlushType: Wait RHI Thread. |
|
FViewportRHI... |
RHICreateViewport ( |
Must be called from the main thread. FlushType: Thread safe |
|
RHIExecuteCommandList ( |
FlushType: Wait RHI Thread. |
|
|
ETextureReal... |
RHIFinalizeAsyncReallocateTexture2D ( |
Returns the status of an ongoing or completed texture reallocation: TexRealloc_Succeeded - The texture is ok, reallocation is not in progress. |
|
RHIFlushResources() |
Flush driver resources. |
|
|
RHIGenerateMips ( |
Generates mip maps for the surface. |
|
|
RHIGetAvailableResolutions ( |
FlushType: Thread safe. |
|
|
IRHICommandC... |
RHIGetCommandContextContainer |
FlushType: Thread safe. |
|
IRHICommandC... |
RHIGetDefaultContext() |
FlushType: Thread safe. |
|
RHIGetGPUFrameCycles ( |
Returns the total GPU time taken to render the last frame. |
|
|
RHIGetMinimumAlignmentForBufferBackedSRV ( |
FlushType: Thread safe. |
|
|
void * |
RHIGetNativeDevice() |
FlushType: Flush RHI Thread. |
|
void * |
RHIGetNativeInstance() |
FlushType: Flush RHI Thread. |
|
RHIGetRenderQueryResult ( |
CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread. |
|
|
RHIGetResourceInfo ( |
FlushType: Thread safe. |
|
|
RHIGetSupportedResolution |
FlushType: Thread safe. |
|
|
RHIGetTextureMemoryStats ( |
Retrieves texture memory stats. Unsupported with this allocator. |
|
|
RHIGetTextureMemoryVisualizeData |
Fills a texture with to visualize the texture pool memory. |
|
|
FTexture2DRH... |
RHIGetViewportBackBuffer ( |
With RHI thread, this is the current backbuffer from the perspective of the render thread. |
|
void * |
RHILockStagingBuffer ( |
Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall. |
|
void * |
RHILockTexture2D ( |
FlushType: Flush RHI Thread. |
|
void * |
RHILockTexture2DArray ( |
FlushType: Flush RHI Thread. |
|
void * |
RHILockTextureCubeFace ( |
FlushType: Flush RHI Thread. |
|
void * |
RHILockTextureCubeFace_RenderThread ( |
|
|
RHIMapStagingSurface ( |
FlushType: Flush Immediate (seems wrong) |
|
|
RHIPerFrameRHIFlushComplete() |
FlushType: called from render thread when RHI thread is flushed. |
|
|
RHIPreferredPixelFormatHint ( |
Return preferred pixel format if given format is unsupported. |
|
|
RHIRead3DSurfaceFloatData ( |
FlushType: Flush Immediate (seems wrong) |
|
|
RHIReadSurfaceData ( |
FlushType: Flush Immediate (seems wrong) |
|
|
RHIReadSurfaceData ( |
Default fallback; will not work for non-8-bit surfaces and it's extremely slow. |
|
|
RHIReadSurfaceFloatData ( |
FlushType: Flush Immediate (seems wrong) |
|
|
RHIReleaseThreadOwnership() |
FlushType: Flush RHI Thread. |
|
|
RHIRequiresComputeGenerateMips() |
||
|
RHIResizeViewport ( |
Must be called from the main thread. FlushType: Thread safe |
|
|
RHISubmitCommandsAndFlushGPU() |
Kicks the current frame and makes sure GPU is actively working on them FlushType: Flush Immediate (copied from RHIBlockUntilGPUIdle) |
|
|
RHITick ( |
Must be called from the main thread. FlushType: Thread safe |
|
|
RHITransferIndexBufferUnderlyingResource ( |
Transfer metadata and underlying resource from src to dest and release any resource owned by dest. |
|
|
RHITransferVertexBufferUnderlyingResource ( |
Transfer metadata and underlying resource from src to dest and release any resource owned by dest. |
|
|
RHIUnlockStagingBuffer ( |
Unlock a staging buffer previously locked with RHILockStagingBuffer. |
|
|
RHIUnlockTexture2D ( |
FlushType: Flush RHI Thread. |
|
|
RHIUnlockTexture2DArray ( |
FlushType: Flush RHI Thread. |
|
|
RHIUnlockTextureCubeFace ( |
FlushType: Flush RHI Thread. |
|
|
RHIUnlockTextureCubeFace_RenderThread ( |
||
|
RHIUnmapStagingSurface ( |
FlushType: Flush Immediate (seems wrong) |
|
|
RHIUpdateShaderResourceView ( |
||
|
RHIUpdateShaderResourceView ( |
Must be called on RHI thread timeline Make sure to call RHIThreadFence(true) afterwards so that parallel translation doesn't refer old resources |
|
|
RHIUpdateTexture2D ( |
FlushType: Flush RHI Thread. |
|
|
RHIUpdateTexture3D ( |
FlushType: Flush RHI Thread. |
|
|
RHIUpdateUniformBuffer ( |
||
|
RHIVirtualTextureSetFirstMipInMemory ( |
FlushType: Wait RHI Thread. |
|
|
RHIVirtualTextureSetFirstMipVisible ( |
FlushType: Wait RHI Thread. |
|
|
Shutdown() |
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). |
|
|
UnlockIndexBuffer_BottomOfPipe ( |
||
|
UnlockStagingBuffer_RenderThread ( |
Unlock a staging buffer previously locked with LockStagingBuffer_RenderThread. |
|
|
UnlockStructuredBuffer_BottomOfPipe ( |
||
|
UnlockTexture2D_RenderThread ( |
||
|
UnlockTexture2DArray_RenderThread ( |
||
|
UnlockVertexBuffer_BottomOfPipe ( |
||
|
UpdateTexture2D_RenderThread ( |
||
|
UpdateTexture3D_RenderThread ( |
Name | Description | ||
---|---|---|---|
|
RHIEnableDepthBoundsTest ( |
||
|
RHISetBlendState ( |
||
|
RHISetBoundShaderState ( |
Set bound shader state. This will set the vertex decl/shader, and pixel shader |
|
|
RHISetDepthStencilState ( |
||
|
RHISetRasterizerState ( |
Name | Description | ||
---|---|---|---|
|
RHIBeginDrawingViewport ( |
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. |
|
|
RHIBeginFrame() |
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. |
|
|
RHIBeginRenderPass ( |
||
|
RHIBeginRenderQuery ( |
||
|
RHIBeginScene() |
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. |
|
|
RHICopyBufferRegion ( |
||
|
RHICopyTexture ( |
FIXME: Broken on Android for cubemaps. |
|
|
RHICopyToResolveTarget ( |
Resolves from one texture to another. |
|
|
RHIDiscardRenderTargets |
Not all RHIs need this (Mobile specific) |
|
|
RHIDrawIndexedIndirect ( |
||
|
RHIDrawIndexedPrimitive |
||
|
RHIDrawIndexedPrimitiveIndirect ( |
||
|
RHIDrawPrimitive |
||
|
RHIDrawPrimitiveIndirect ( |
||
|
RHIEndDrawingViewport ( |
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. |
|
|
RHIEndFrame() |
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. |
|
|
RHIEndRenderPass() |
||
|
RHIEndRenderQuery ( |
||
|
RHIEndScene() |
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. |
|
|
RHINextSubpass() |
||
|
RHIPollOcclusionQueries() |
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. |
|
|
RHISetBlendFactor ( |
||
|
RHISetDepthBounds ( |
Sets Depth Bounds range with the given min/max depth. |
|
|
RHISetGraphicsPipelineState ( |
This will set most relevant pipeline state. |
|
|
RHISetMultipleViewports ( |
Useful when used with geometry shader (emit polygons to different viewports), otherwise SetViewPort() is simpler |
|
|
RHISetScissorRect |
||
|
RHISetShaderParameter ( |
||
|
RHISetShaderResourceViewParameter ( |
||
|
RHISetShaderSampler ( |
Sets sampler state. |
|
|
RHISetShaderTexture ( |
Set the shader resource view of a surface. |
|
|
RHISetShaderUniformBuffer ( |
||
|
RHISetStencilRef ( |
||
|
RHISetStreamSource ( |
||
|
RHISetUAVParameter ( |
Sets a pixel shader UAV parameter. |
|
|
RHISetViewport ( |
||
|
RHIUpdateTextureReference ( |
Name | Description | ||
---|---|---|---|
|
RHIBeginTransitions ( |
||
|
RHIClearUAVFloat ( |
Clears a UAV to the multi-channel floating point value provided. |
|
|
RHIClearUAVUint ( |
Clears a UAV to the multi-component unsigned integer value provided. |
|
|
RHICopyToStagingBuffer ( |
Inline copy. |
|
|
RHIDispatchComputeShader |
||
|
RHIDispatchIndirectComputeShader ( |
||
|
RHIEndTransitions ( |
||
|
RHIInvalidateCachedState() |
Some RHI implementations (OpenGL) cache render state internally Signal to RHI that cached state is no longer valid |
|
|
RHIPopEvent() |
||
|
RHIPostExternalCommandsReset() |
||
|
RHIPushEvent |
||
|
RHISetComputeShader ( |
Sets the current compute shader. |
|
|
RHISetGlobalUniformBuffers ( |
||
|
RHISetShaderParameter ( |
||
|
RHISetShaderResourceViewParameter ( |
||
|
RHISetShaderSampler ( |
Sets sampler state. |
|
|
RHISetShaderTexture ( |
Set the shader resource view of a surface. |
|
|
RHISetShaderUniformBuffer ( |
||
|
RHISetUAVParameter ( |
Sets a compute shader UAV parameter. |
|
|
RHISetUAVParameter ( |
Sets a compute shader counted UAV parameter and initial count |
|
|
RHISubmitCommandsHint() |
Submit the current command buffer to the GPU if possible. |
|
|
RHIWriteGPUFence ( |
Write the fence in the GPU timeline. |
Name |
Description |
|
---|---|---|
|
FTextureLockTracker |
Name | Description | ||
---|---|---|---|
|
RHIAliasTextureResources ( |
RHIAliasTextureResources now takes references to FTextureRHIRef objects as parameters |
|
|
FTextureRHIR... |
RHICreateAliasedTexture ( |
RHICreateAliasedTexture now takes a reference to an FTextureRHIRef object |