|
| virtual | ~IRHIComputeContext () |
| |
| virtual ERHIPipeline | GetPipeline () const |
| |
| virtual void | RHISetComputePipelineState (FRHIComputePipelineState *ComputePipelineState)=0 |
| |
| virtual void | RHIDispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)=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 | RHIDispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0 |
| |
| 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) |
| |
| 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 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) |
| |
Context that is capable of doing Compute work. Can be async or compute on the gfx pipe.
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.
- Parameters
-
| UnorderedAccessViewRHI | The UAV to clear. |
| Values | The values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored. |
Implemented in FMetalRHICommandContext, FD3D12CommandContext, FD3D12CommandContextRedirector, FNullDynamicRHI, FOpenGLDynamicRHI, FVulkanCommandListContext, and FD3D11DynamicRHI.
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.
- Parameters
-
| UnorderedAccessViewRHI | The UAV to clear. |
| Values | The values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored. |
Implemented in FMetalRHICommandContext, FD3D12CommandContext, FD3D12CommandContextRedirector, FNullDynamicRHI, FOpenGLDynamicRHI, FVulkanCommandListContext, and FD3D11DynamicRHI.