Navigation
API > API/Runtime > API/Runtime/NullDrv
Inheritance Hierarchy
- FDynamicRHIPSOFallback
- IRHICommandContextPSOFallback
- FNullDynamicRHI
References
| Module | NullDrv |
| Header | /Engine/Source/Runtime/NullDrv/Public/NullRHI.h |
| Include | #include "NullRHI.h" |
Syntax
class FNullDynamicRHI :
public FDynamicRHIPSOFallback ,
public IRHICommandContextPSOFallback
Remarks
A null implementation of the dynamically bound RHI.
Constructors
| Type | Name | Description | |
|---|---|---|---|
Overridden from FDynamicRHI
| Type | Name | Description | |
|---|---|---|---|
| ERHIInterfaceType | |||
| const TCHAR * | GetName () |
||
| void | Init () |
Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called. | |
| void * | LockBuffer_BottomOfPipe
(
FRHICommandListBase& RHICmdList, |
Buffer Lock/Unlock. | |
| void | FlushType: Flush RHI Thread. | ||
| void | RHIAdvanceFrameForGetViewportBackBuffer
(
FRHIViewport* Viewport |
Only relevant with an RHI thread, this advances the backbuffer for the purpose of GetViewportBackBuffer FlushType: Thread safe | |
| void | RHIAliasTextureResources
(
FTextureRHIRef& DestTexture, |
||
| FTextureRHIRef | RHIAsyncCreateTexture2D
(
uint32 SizeX, |
||
| FTexture2DRHIRef | RHIAsyncReallocateTexture2D
(
FRHITexture2D* Texture2D, |
Starts an asynchronous texture reallocation. | |
| void | RHIBeginFrame
(
FRHICommandListImmediate& RHICmdList |
||
| void | RHIBindDebugLabelName
(
FRHICommandListBase& RHICmdList, |
FlushType: Thread safe. | |
| void | Blocks the CPU until the GPU catches up and goes idle. FlushType: Flush Immediate (seems wrong) | ||
| FRHICalcTextureSizeResult | RHICalcTexturePlatformSize
(
FRHITextureDesc const& Desc, |
FlushType: Thread safe. | |
| ETextureReallocationStatus | RHICancelAsyncReallocateTexture2D
(
FRHITexture2D* Texture2D, |
FlushType: Wait RHI Thread. | |
| void | RHICheckViewportHDRStatus
(
FRHIViewport* Viewport |
Tests the viewport to see if its HDR status has changed. This is usually tested after a window has been moved. | |
| uint32 | RHIComputeMemorySize
(
FRHITexture* TextureRHI |
FlushType: Thread safe. | |
| void | RHICopyBuffer
(
FRHIBuffer* SourceBuffer, |
FlushType: Flush Immediate (seems dangerous) | |
| FBlendStateRHIRef | RHICreateBlendState
(
const FBlendStateInitializerRHI& Initializer |
FlushType: Thread safe. | |
| FBoundShaderStateRHIRef | RHICreateBoundShaderState
(
FRHIVertexDeclaration* VertexDeclaration, |
FlushType: Thread safe, but varies depending on the RHI. | |
| FBufferRHIRef | RHICreateBuffer
(
FRHICommandListBase& RHICmdList, |
||
| FComputeShaderRHIRef | RHICreateComputeShader
(
TArrayView< const uint8 > Code, |
FlushType: Wait RHI Thread. | |
| FDepthStencilStateRHIRef | RHICreateDepthStencilState
(
const FDepthStencilStateInitializerRHI& Initializer |
FlushType: Thread safe. | |
| FGeometryShaderRHIRef | RHICreateGeometryShader
(
TArrayView< const uint8 > Code, |
FlushType: Wait RHI Thread. | |
| FPixelShaderRHIRef | RHICreatePixelShader
(
TArrayView< const uint8 > Code, |
FlushType: Wait RHI Thread. | |
| FRasterizerStateRHIRef | RHICreateRasterizerState
(
const FRasterizerStateInitializerRHI& Initializer |
FlushType: Thread safe. | |
| FRenderQueryRHIRef | RHICreateRenderQuery
(
ERenderQueryType QueryType |
FlushType: Wait RHI Thread. | |
| FSamplerStateRHIRef | RHICreateSamplerState
(
const FSamplerStateInitializerRHI& Initializer |
FlushType: Thread safe. | |
| FShaderResourceViewRHIRef | RHICreateShaderResourceView
(
FRHICommandListBase& RHICmdList, |
SRV / UAV creation functions. | |
| FTextureRHIRef | RHICreateTexture
(
FRHICommandListBase&, |
Creates an RHI texture resource. | |
| void | RHICreateTransition
(
FRHITransition* Transition, |
||
| FUniformBufferRHIRef | RHICreateUniformBuffer
(
const void* Contents, |
FlushType: Thread safe, but varies depending on the RHI. | |
| FUnorderedAccessViewRHIRef | RHICreateUnorderedAccessView
(
FRHICommandListBase& RHICmdList, |
||
| FVertexDeclarationRHIRef | RHICreateVertexDeclaration
(
const FVertexDeclarationElementList& Elements |
FlushType: Wait RHI Thread. | |
| FVertexShaderRHIRef | RHICreateVertexShader
(
TArrayView< const uint8 > Code, |
FlushType: Wait RHI Thread. | |
| FViewportRHIRef | RHICreateViewport
(
void* WindowHandle, |
Must be called from the main thread. FlushType: Thread safe | |
| ETextureReallocationStatus | RHIFinalizeAsyncReallocateTexture2D
(
FRHITexture2D* Texture2D, |
FlushType: Wait RHI Thread. | |
| IRHIPlatformCommandList * | RHIFinalizeContext
(
IRHIComputeContext* Context |
Finalizes (i.e. closes) the specified command context, returning the completed platform command list object. | |
| void | Flush driver resources. | ||
| void | RHIGenerateMips
(
FRHITexture* Texture |
FlushType: Flush Immediate (NP: this should be queued on the command list for RHI thread execution, not flushed) | |
| bool | RHIGetAvailableResolutions
(
FScreenResolutionArray& Resolutions, |
FlushType: Thread safe. | |
| EColorSpaceAndEOTF | RHIGetColorSpace
(
FRHIViewport* Viewport |
Return what colour space the viewport is in. Used for HDR displays. | |
| IRHIComputeContext * | RHIGetCommandContext
(
ERHIPipeline Pipeline, |
Retrieves a new command context to begin the recording of a new platform command list. | |
| IRHICommandContext * | FlushType: Thread safe. | ||
| uint32 | RHIGetGPUFrameCycles
(
uint32 GPUIndex |
FlushType: Thread safe. | |
| void * | FlushType: Flush RHI Thread. | ||
| void * | FlushType: Flush RHI Thread. | ||
| bool | RHIGetRenderQueryResult
(
FRHIRenderQuery* RenderQuery, |
CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread. | |
| void | RHIGetSupportedResolution
(
uint32& Width, |
FlushType: Thread safe. | |
| void | RHIGetTextureMemoryStats
(
FTextureMemoryStats& OutStats |
FlushType: Thread safe. | |
| bool | FlushType: Flush Immediate. | ||
| FTexture2DRHIRef | RHIGetViewportBackBuffer
(
FRHIViewport* Viewport |
With RHI thread, this is the current backbuffer from the perspective of the render thread. | |
| void * | RHILockTexture2D
(
FRHITexture2D* Texture, |
FlushType: Flush RHI Thread. | |
| void * | RHILockTexture2DArray
(
FRHITexture2DArray* Texture, |
FlushType: Flush RHI Thread. | |
| void * | RHILockTextureCubeFace
(
FRHITextureCube* Texture, |
FlushType: Flush RHI Thread. | |
| void | RHIMapStagingSurface
(
FRHITexture* Texture, |
FlushType: Flush Immediate (seems wrong) | |
| void | RHIRead3DSurfaceFloatData
(
FRHITexture* Texture, |
FlushType: Flush Immediate (seems wrong) | |
| void | RHIReadSurfaceData
(
FRHITexture* Texture, |
FlushType: Flush Immediate (seems wrong) | |
| void | RHIReadSurfaceFloatData
(
FRHITexture* Texture, |
FlushType: Flush Immediate (seems wrong) | |
| void | FlushType: Flush RHI Thread. | ||
| void | RHIReleaseTransition
(
FRHITransition* Transition |
||
| void | RHIResizeViewport
(
FRHIViewport* Viewport, |
Must be called from the main thread. FlushType: Thread safe | |
| void | RHISubmitCommandLists
(
TArrayView< IRHIPlatformCommandList* > CommandLists, |
Submits a batch of previously recorded/finalized command lists to the GPU. | |
| void | RHITick
(
float DeltaTime |
Must be called from the main thread. FlushType: Thread safe | |
| void | RHITransferBufferUnderlyingResource
(
FRHICommandListBase& RHICmdList, |
Transfer metadata and underlying resource from src to dest and release any resource owned by dest. | |
| void | RHIUnlockTexture2D
(
FRHITexture2D* Texture, |
FlushType: Flush RHI Thread. | |
| void | RHIUnlockTexture2DArray
(
FRHITexture2DArray* Texture, |
FlushType: Flush RHI Thread. | |
| void | RHIUnlockTextureCubeFace
(
FRHITextureCube* Texture, |
FlushType: Flush RHI Thread. | |
| void | RHIUnmapStagingSurface
(
FRHITexture* Texture, |
FlushType: Flush Immediate (seems wrong) | |
| void | RHIUpdateTexture2D
(
FRHICommandListBase&, |
Updates a region of a 2D texture from system memory | |
| void | RHIUpdateTexture3D
(
FRHICommandListBase&, |
Updates a region of a 3D texture from system memory | |
| void | RHIUpdateUniformBuffer
(
FRHICommandListBase& RHICmdList, |
||
| void | 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). | |
| void | UnlockBuffer_BottomOfPipe
(
FRHICommandListBase& RHICmdList, |
Overridden from IRHICommandContextPSOFallback
| Type | Name | Description | |
|---|---|---|---|
| void | RHIEnableDepthBoundsTest
(
bool bEnable |
||
| void | RHISetBlendState
(
FRHIBlendState* NewState, |
||
| void | RHISetBoundShaderState
(
FRHIBoundShaderState* BoundShaderState |
||
| void | RHISetComputeShader
(
FRHIComputeShader* ComputeShader |
||
| void | RHISetDepthStencilState
(
FRHIDepthStencilState* NewState, |
||
| void | RHISetRasterizerState
(
FRHIRasterizerState* NewState |
Overridden from IRHICommandContext
| Type | Name | Description | |
|---|---|---|---|
| void | RHIBeginDrawingViewport
(
FRHIViewport* Viewport, |
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. | |
| void | 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. | ||
| void | RHIBeginRenderPass
(
const FRHIRenderPassInfo& InInfo, |
||
| void | RHIBeginRenderQuery
(
FRHIRenderQuery* RenderQuery |
||
| void | 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. | ||
| void | RHICopyTexture
(
FRHITexture* SourceTexture, |
||
| void | RHIDrawIndexedIndirect
(
FRHIBuffer* IndexBufferRHI, |
||
| void | RHIDrawIndexedPrimitive
(
FRHIBuffer* IndexBuffer, |
||
| void | RHIDrawIndexedPrimitiveIndirect
(
FRHIBuffer* IndexBuffer, |
||
| void | RHIDrawPrimitive
(
uint32 BaseVertexIndex, |
||
| void | RHIDrawPrimitiveIndirect
(
FRHIBuffer* ArgumentBuffer, |
||
| void | RHIEndDrawingViewport
(
FRHIViewport* Viewport, |
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. | |
| void | 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. | |
| void | |||
| void | RHIEndRenderQuery
(
FRHIRenderQuery* RenderQuery |
||
| void | 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. | |
| void | RHIMultiDrawIndexedPrimitiveIndirect
(
FRHIBuffer* IndexBuffer, |
Similar to RHIDrawIndexedPrimitiveIndirect, but allows many draw arguments to be provided at once. | |
| void | RHISetDepthBounds
(
float MinDepth, |
Sets Depth Bounds range with the given min/max depth. | |
| void | RHISetMultipleViewports
(
uint32 Count, |
Useful when used with geometry shader (emit polygons to different viewports), otherwise SetViewPort() is simpler | |
| void | RHISetScissorRect
(
bool bEnable, |
||
| void | RHISetShaderParameters
(
FRHIGraphicsShader* Shader, |
||
| void | RHISetShadingRate
(
EVRSShadingRate ShadingRate, |
||
| void | RHISetStreamSource
(
uint32 StreamIndex, |
||
| void | RHISetViewport
(
float MinX, |
Overridden from IRHIComputeContext
| Type | Name | Description | |
|---|---|---|---|
| void | RHIBeginTransitions
(
TArrayView< const FRHITransition* > Transitions |
||
| void | RHIClearUAVFloat
(
FRHIUnorderedAccessView* UnorderedAccessViewRHI, |
Clears a UAV to the multi-channel floating point value provided. | |
| void | RHIClearUAVUint
(
FRHIUnorderedAccessView* UnorderedAccessViewRHI, |
Clears a UAV to the multi-component unsigned integer value provided. | |
| void | RHIDispatchComputeShader
(
uint32 ThreadGroupCountX, |
||
| void | RHIDispatchIndirectComputeShader
(
FRHIBuffer* ArgumentBuffer, |
||
| void | RHIEndTransitions
(
TArrayView< const FRHITransition* > Transitions |
||
| void | RHIPopEvent () |
||
| void | RHIPushEvent
(
const TCHAR* Name, |
||
| void | RHISetShaderParameters
(
FRHIComputeShader* Shader, |
||
| void | Submit the current command buffer to the GPU if possible. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FNullTexture |