|
| virtual | ~IRHICommandContext () |
| |
| virtual ERHIPipeline | GetPipeline () const override |
| |
| virtual void | RHIDispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)=0 |
| |
| virtual void | RHIDispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0 |
| |
| virtual void | RHISetMultipleViewports (uint32 Count, const FViewportBounds *Data)=0 |
| |
| virtual void | RHIResummarizeHTile (FRHITexture *DepthTexture) |
| |
| virtual void | RHIBeginRenderQuery (FRHIRenderQuery *RenderQuery)=0 |
| |
| virtual void | RHIEndRenderQuery (FRHIRenderQuery *RenderQuery)=0 |
| |
| virtual void | RHIEndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync)=0 |
| |
| virtual void | RHISetStreamSource (uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset)=0 |
| |
| virtual void | RHISetViewport (float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)=0 |
| |
| virtual void | RHISetStereoViewport (float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ) |
| |
| virtual void | RHISetScissorRect (bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY)=0 |
| |
| virtual void | RHISetGraphicsPipelineState (FRHIGraphicsPipelineState *GraphicsState, uint32 StencilRef, bool bApplyAdditionalState)=0 |
| |
| virtual void | RHISetShaderParameters (FRHIGraphicsShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)=0 |
| |
| void | RHISetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters) |
| |
| virtual void | RHISetShaderUnbinds (FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds) |
| |
| virtual void | RHISetStencilRef (uint32 StencilRef) |
| |
| virtual void | RHISetBlendFactor (const FLinearColor &BlendFactor) |
| |
| virtual void | RHIDrawPrimitive (uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances)=0 |
| |
| virtual void | RHIDrawPrimitiveIndirect (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0 |
| |
| virtual void | RHIDrawIndexedIndirect (FRHIBuffer *IndexBufferRHI, FRHIBuffer *ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances)=0 |
| |
| virtual void | RHIDrawIndexedPrimitive (FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances)=0 |
| |
| virtual void | RHIDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0 |
| |
| virtual void | RHIMultiDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBuffeOffset, uint32 MaxDrawArguments) |
| |
| virtual void | RHIDispatchMeshShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) |
| |
| virtual void | RHIDispatchIndirectMeshShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) |
| |
| virtual void | RHISetDepthBounds (float MinDepth, float MaxDepth)=0 |
| |
| virtual void | RHIGpuHangCommandListCorruption () |
| |
| virtual void | RHISetShadingRate (EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) |
| |
| virtual void | RHIBeginParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > InInfo, const TCHAR *InName) |
| |
| virtual void | RHIEndParallelRenderPass () |
| |
| virtual void | RHIBeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *InName)=0 |
| |
| virtual void | RHIEndRenderPass ()=0 |
| |
| virtual void | RHINextSubpass () |
| |
| virtual void | RHICopyTexture (FRHITexture *SourceTexture, FRHITexture *DestTexture, const FRHICopyTextureInfo &CopyInfo)=0 |
| |
| virtual void | RHICopyBufferRegion (FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes)=0 |
| |
| virtual void | RHIClearShaderBindingTable (FRHIShaderBindingTable *SBT) |
| |
| virtual void | RHISetBindingsOnShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType) |
| |
| virtual void | RHICommitShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer) |
| |
| virtual void | RHISetShaderParameters (FRHIComputeShader *ComputeShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)=0 |
| |
| void | RHISetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters) |
| |
| virtual void | RHISetShaderUnbinds (FRHIComputeShader *ComputeShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds) |
| |
| virtual | ~IRHIComputeContext () |
| |
| virtual void | RHISetComputePipelineState (FRHIComputePipelineState *ComputePipelineState)=0 |
| |
| virtual void | RHIRayTraceDispatch (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height) |
| |
| virtual void | RHIRayTraceDispatchIndirect (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) |
| |
| virtual void | RHISetAsyncComputeBudget (EAsyncComputeBudget Budget) |
| |
| virtual void | RHISetComputeBudget (ESyncComputeBudget Budget) |
| |
| virtual void | RHIBeginTransitions (TArrayView< const FRHITransition * > Transitions)=0 |
| |
| virtual void | RHIEndTransitions (TArrayView< const FRHITransition * > Transitions)=0 |
| |
| virtual void | RHIClearUAVFloat (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values)=0 |
| |
| virtual void | RHIClearUAVUint (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values)=0 |
| |
| virtual void | RHISetShaderRootConstants (const FUint32Vector4 &Constants) |
| |
| virtual void | RHIDispatchComputeShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated) |
| |
| virtual void | RHIDispatchGraphicsShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated) |
| |
| virtual void | RHIBeginUAVOverlap () |
| |
| virtual void | RHIEndUAVOverlap () |
| |
| virtual void | RHIBeginUAVOverlap (TConstArrayView< FRHIUnorderedAccessView * > UAVs) |
| |
| virtual void | RHIEndUAVOverlap (TConstArrayView< FRHIUnorderedAccessView * > UAVs) |
| |
| void | RHISetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters) |
| |
| virtual void | RHISetStaticUniformBuffers (const FUniformBufferStaticBindings &InUniformBuffers)=0 |
| |
| virtual void | RHISetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *UniformBuffer)=0 |
| |
| virtual void | RHISetUniformBufferDynamicOffset (FUniformBufferStaticSlot Slot, uint32 Offset) |
| |
| virtual void | RHICopyToStagingBuffer (FRHIBuffer *SourceBufferRHI, FRHIStagingBuffer *DestinationStagingBufferRHI, uint32 InOffset, uint32 InNumBytes) |
| |
| virtual void | RHIWriteGPUFence (FRHIGPUFence *FenceRHI) |
| |
| virtual void | RHISetGPUMask (FRHIGPUMask GPUMask) |
| |
| virtual FRHIGPUMask | RHIGetGPUMask () const |
| |
| virtual void | RHIExecuteMultiIndirectClusterOperation (const FRayTracingClusterOperationParams &Params) |
| |
| virtual void | RHIBuildAccelerationStructures (TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange) |
| |
| virtual void | RHIBuildAccelerationStructures (TConstArrayView< FRayTracingSceneBuildParams > Params) |
| |
| virtual void | RHIBindAccelerationStructureMemory (FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset) |
| |
| IRHIComputeContext & | GetLowestLevelContext () |
| |
| IRHIComputeContext const & | GetHighestLevelContext () const |
| |
| IRHIComputeContext & | GetHighestLevelContext () |
| |
| void | SetTrackedAccess (const FRHITrackedAccessInfo &Info) |
| |
| ERHIAccess | GetTrackedAccess (const FRHIViewableResource *Resource) const |
| |
| ERHIPipeline | GetTrackedPipelines (const FRHIViewableResource *Resource) const |
| |
| virtual void * | RHIGetNativeCommandBuffer () |
| |
| virtual void | RHIPostExternalCommandsReset () |
| |
| FRHICommandListBase & | GetExecutingCommandList () const |
| |
| virtual void | SetExecutingCommandList (FRHICommandListBase *InCmdList) |
| |
The interface RHI command context. Sometimes the RHI handles these. On platforms that can processes command lists in parallel, it is a separate object.
Similar to RHIDrawIndexedPrimitiveIndirect, but allows many draw arguments to be provided at once. GRHIGlobals.SupportsDrawIndirect must be checked to detect support on the current machine. @ param IndexBuffer Buffer containing primitive indices @ param ArgumentsBuffer Buffer containing FRHIDrawIndexedIndirectParameters structures @ param ArgumentOffset Offset in bytes of the first element in ArgumentsBuffer that will be used for drawing @ param CountBuffer Buffer containing uint32 count of valid draw arguments that should be consumed (may be nullptr, indicating that only MaxDrawArguments value should be used) @ param CountBuffeOffset Offset in bytes for the CountBuffer element that will be used to source the draw argument count @ param MaxDrawArguments How many draw arguments should be processed at most, i.e. NumDrawArguments = min(MaxDrawArguments, ValueFromCountBuffer)
Reimplemented in FD3D12CommandContext, FD3D12CommandContextRedirector, and FNullDynamicRHI.