|
| | FMetalRHICommandContext (FMetalDevice &Device, class FMetalProfiler *InProfiler) |
| |
| virtual | ~FMetalRHICommandContext () |
| |
| void | ResetContext () |
| |
| void | BeginComputeEncoder () |
| |
| void | EndComputeEncoder () |
| |
| void | BeginBlitEncoder () |
| |
| void | EndBlitEncoder () |
| |
| class FMetalProfiler * | GetProfiler () const |
| |
| virtual void | RHISetComputePipelineState (FRHIComputePipelineState *ComputePipelineState) override |
| |
| virtual void | RHIDispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) final override |
| |
| virtual void | RHIDispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override |
| |
| virtual void | RHISetMultipleViewports (uint32 Count, const FViewportBounds *Data) final override |
| |
| virtual void | RHIClearUAVFloat (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values) final override |
| |
| virtual void | RHIClearUAVUint (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values) final override |
| |
| virtual void | RHICopyTexture (FRHITexture *SourceTextureRHI, FRHITexture *DestTextureRHI, const FRHICopyTextureInfo &CopyInfo) final override |
| |
| virtual void | RHICopyBufferRegion (FRHIBuffer *DstBufferRHI, uint64 DstOffset, FRHIBuffer *SrcBufferRHI, uint64 SrcOffset, uint64 NumBytes) final override |
| |
| virtual void | RHICalibrateTimers (FRHITimestampCalibrationQuery *CalibrationQuery) final override |
| |
| virtual void | RHIBeginRenderQuery (FRHIRenderQuery *RenderQuery) final override |
| |
| virtual void | RHIEndRenderQuery (FRHIRenderQuery *RenderQuery) final override |
| |
| virtual void | RHIEndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync) override |
| |
| virtual void | RHISetStreamSource (uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset) final override |
| |
| virtual void | RHISetViewport (float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ) final override |
| |
| virtual void | RHISetStereoViewport (float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ) final override |
| |
| virtual void | RHISetScissorRect (bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY) final override |
| |
| virtual void | RHISetGraphicsPipelineState (FRHIGraphicsPipelineState *GraphicsState, uint32 StencilRef, bool bApplyAdditionalState) final override |
| |
| virtual void | RHISetStaticUniformBuffers (const FUniformBufferStaticBindings &InUniformBuffers) final override |
| |
| virtual void | RHISetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *Buffer) final override |
| |
| virtual void | RHISetShaderParameters (FRHIGraphicsShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override |
| |
| virtual void | RHISetShaderParameters (FRHIComputeShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override |
| |
| virtual void | RHISetStencilRef (uint32 StencilRef) final override |
| |
| virtual void | RHISetBlendFactor (const FLinearColor &BlendFactor) final override |
| |
| void | SetRenderTargets (uint32 NumSimultaneousRenderTargets, const FRHIRenderTargetView *NewRenderTargets, const FRHIDepthRenderTargetView *NewDepthStencilTarget) |
| |
| void | SetRenderTargetsAndClear (const FRHISetRenderTargetsInfo &RenderTargetsInfo) |
| |
| virtual void | RHIDrawPrimitive (uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances) final override |
| |
| virtual void | RHIDrawPrimitiveIndirect (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override |
| |
| virtual void | RHIDrawIndexedIndirect (FRHIBuffer *IndexBufferRHI, FRHIBuffer *ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances) final override |
| |
| virtual void | RHIDrawIndexedPrimitive (FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances) final override |
| |
| virtual void | RHIDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override |
| |
| virtual void | RHISetDepthBounds (float MinDepth, float MaxDepth) final override |
| |
| virtual void | RHICopyToStagingBuffer (FRHIBuffer *SourceBufferRHI, FRHIStagingBuffer *DestinationStagingBufferRHI, uint32 Offset, uint32 NumBytes) final override |
| |
| virtual void | RHIWriteGPUFence (FRHIGPUFence *FenceRHI) final override |
| |
| virtual void | RHIBeginTransitions (TArrayView< const FRHITransition * > Transitions) |
| |
| virtual void | RHIEndTransitions (TArrayView< const FRHITransition * > Transitions) |
| |
| virtual void | RHIBeginParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > InInfo, const TCHAR *InName) final override |
| |
| virtual void | RHIEndParallelRenderPass () final override |
| |
| virtual void | RHIBeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *InName) final override |
| |
| virtual void | RHIEndRenderPass () final override |
| |
| virtual void | RHINextSubpass () final override |
| |
| void | FillBuffer (MTL::Buffer *Buffer, NS::Range Range, uint8 Value) |
| |
| void | CopyFromTextureToBuffer (MTL::Texture *Texture, uint32 sourceSlice, uint32 sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, FMetalBufferPtr toBuffer, uint32 destinationOffset, uint32 destinationBytesPerRow, uint32 destinationBytesPerImage, MTL::BlitOption options) |
| |
| void | CopyFromBufferToTexture (FMetalBufferPtr Buffer, uint32 sourceOffset, uint32 sourceBytesPerRow, uint32 sourceBytesPerImage, MTL::Size sourceSize, MTL::Texture *toTexture, uint32 destinationSlice, uint32 destinationLevel, MTL::Origin destinationOrigin, MTL::BlitOption options) |
| |
| void | CopyFromTextureToTexture (MTL::Texture *Texture, uint32 sourceSlice, uint32 sourceLevel, MTL::Origin sourceOrigin, MTL::Size sourceSize, MTL::Texture *toTexture, uint32 destinationSlice, uint32 destinationLevel, MTL::Origin destinationOrigin) |
| |
| void | CopyFromBufferToBuffer (FMetalBufferPtr SourceBuffer, NS::UInteger SourceOffset, FMetalBufferPtr DestinationBuffer, NS::UInteger DestinationOffset, NS::UInteger Size) |
| |
| void | CommitRenderResourceTables (void) |
| |
| void | PrepareToRender (uint32 PrimitiveType) |
| |
| bool | PrepareToDraw (uint32 PrimitiveType) |
| |
| void | PrepareToDispatch () |
| |
| void | SetupParallelContext (const FRHIParallelRenderPassInfo *ParallelRenderPassInfo) |
| |
| void | Finalize (TArray< FMetalPayload * > &OutPayloads) |
| |
| void | PushDescriptorUpdates () |
| |
| void | InsertComputeMemoryBarrier () |
| |
| FMetalPayload * | GetPayload (EPhase Phase) |
| |
| void | NewPayload () |
| |
| FMetalSyncPoint * | GetContextSyncPoint () |
| |
| void | SignalSyncPoint (FMetalSyncPoint *SyncPoint) |
| |
| void | WaitSyncPoint (FMetalSyncPoint *SyncPoint) |
| |
| void | StartTiming (class FMetalEventNode *EventNode) |
| |
| void | EndTiming (class FMetalEventNode *EventNode) |
| |
| void | SynchronizeResource (MTL::Resource *Resource) |
| |
| void | SynchronizeTexture (MTL::Texture *Texture, uint32 Slice, uint32 Level) |
| |
| void | SignalEvent (MTLEventPtr Event, uint32_t SignalCount) |
| |
| void | WaitForEvent (MTLEventPtr Event, uint32_t SignalCount) |
| |
| void | SetCustomPresentViewport (FRHIViewport *Viewport) |
| |
| FMetalCommandBuffer * | GetCurrentCommandBuffer () |
| |
| void | BeginRecursiveCommand () |
| |
| const TArray< FRHIUniformBuffer * > & | GetStaticUniformBuffers () const |
| |
| void | SetProfiler (FMetalProfiler *InProfiler) |
| |
| FMetalProfiler * | GetProfiler () |
| |
| TSharedRef< FMetalQueryBufferPool, ESPMode::ThreadSafe > | GetQueryBufferPool () |
| |
| FMetalStateCache & | GetStateCache () |
| |
| FMetalCommandQueue & | GetCommandQueue () |
| |
| FMetalDevice & | GetDevice () |
| |
| bool | IsInsideRenderPass () const |
| |
| void | StartCommandBuffer () |
| |
| void | EndCommandBuffer () |
| |
| void | FlushCommands (EMetalFlushFlags Flags) |
| |
Public Member Functions inherited from IRHICommandContext |
| virtual | ~IRHICommandContext () |
| |
| virtual ERHIPipeline | GetPipeline () const override |
| |
| virtual void | RHIResummarizeHTile (FRHITexture *DepthTexture) |
| |
| void | RHISetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters) |
| |
| virtual void | RHISetShaderUnbinds (FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds) |
| |
| 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 | RHIGpuHangCommandListCorruption () |
| |
| virtual void | RHISetShadingRate (EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) |
| |
| 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 | 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 | 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 | RHISetUniformBufferDynamicOffset (FUniformBufferStaticSlot Slot, uint32 Offset) |
| |
| 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.