|
| | FD3D12CommandContext (class FD3D12Device *InParent, ED3D12QueueType QueueType, bool InIsDefaultContext) |
| |
| virtual | ~FD3D12CommandContext () |
| |
| virtual void | OpenCommandList () override |
| |
| virtual void | CloseCommandList () override final |
| |
| virtual ERHIPipeline | GetPipeline () const override |
| |
| virtual void | ClearState (EClearStateMode ClearStateMode=EClearStateMode::All) override final |
| |
| virtual void | ConditionalClearShaderResource (FD3D12ResourceLocation *Resource, EShaderParameterTypeMask ShaderParameterTypeMask) override final |
| |
| void | ClearShaderResources (FD3D12UnorderedAccessView *UAV, EShaderParameterTypeMask ShaderParameterTypeMask) |
| |
| void | ClearShaderResources (FD3D12BaseShaderResource *Resource, EShaderParameterTypeMask ShaderParameterTypeMask) |
| |
| void | ClearAllShaderResources () |
| |
| void | CommitNonComputeShaderConstants () |
| |
| void | CommitComputeShaderConstants () |
| |
| template<class ShaderType > |
| void | SetResourcesFromTables (const ShaderType *RESTRICT) |
| |
| void | SetSRVParameter (EShaderFrequency Frequency, uint32 SRVIndex, FD3D12ShaderResourceView *SRV) |
| |
| void | SetUAVParameter (EShaderFrequency Frequency, uint32 UAVIndex, FD3D12UnorderedAccessView *UAV) |
| |
| void | SetUAVParameter (EShaderFrequency Frequency, uint32 UAVIndex, FD3D12UnorderedAccessView *UAV, uint32 InitialCount) |
| |
| void | CommitGraphicsResourceTables () |
| |
| void | CommitComputeResourceTables () |
| |
| template<typename TPixelShader > |
| void | ResolveTextureUsingShader (FD3D12Texture *SourceTexture, FD3D12Texture *DestTexture, FD3D12RenderTargetView *DestSurfaceRTV, FD3D12DepthStencilView *DestSurfaceDSV, const D3D12_RESOURCE_DESC &ResolveTargetDesc, const FResolveRect &SourceRect, const FResolveRect &DestRect, typename TPixelShader::FParameter PixelShaderParameter) |
| |
| virtual void | SetDepthBounds (float MinDepth, float MaxDepth) |
| |
| virtual void | SetShadingRate (EVRSShadingRate ShadingRate, FD3D12Resource *ShadingRateImage, const TStaticArray< EVRSRateCombiner, ED3D12VRSCombinerStages::Num > &Combiners) |
| |
| virtual void | SetAsyncComputeBudgetInternal (EAsyncComputeBudget Budget) |
| |
| virtual void | RHIBeginTransitions (TArrayView< const FRHITransition * > Transitions) final override |
| |
| virtual void | RHIEndTransitions (TArrayView< const FRHITransition * > Transitions) final override |
| |
| virtual void | RHISetComputePipelineState (FRHIComputePipelineState *ComputePipelineState) final override |
| |
| virtual void | RHIDispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) final override |
| |
| virtual void | RHIDispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override |
| |
| virtual void | RHISetStaticUniformBuffers (const FUniformBufferStaticBindings &InUniformBuffers) final override |
| |
| virtual void | RHISetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *Buffer) final override |
| |
| virtual void | RHISetShaderParameters (FRHIComputeShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override |
| |
| virtual void | RHISetShaderUnbinds (FRHIComputeShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds) final override |
| |
| virtual void | RHISetShaderUnbinds (FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds) 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 *SourceTexture, FRHITexture *DestTexture, const FRHICopyTextureInfo &CopyInfo) final override |
| |
| virtual void | RHICopyBufferRegion (FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes) final override |
| |
| virtual void | RHICopyToStagingBuffer (FRHIBuffer *SourceBuffer, FRHIStagingBuffer *DestinationStagingBuffer, uint32 Offset, uint32 NumBytes) final override |
| |
| virtual void | RHIBeginRenderQuery (FRHIRenderQuery *RenderQuery) final override |
| |
| virtual void | RHIEndRenderQuery (FRHIRenderQuery *RenderQuery) final override |
| |
| virtual void | RHICalibrateTimers (FRHITimestampCalibrationQuery *CalibrationQuery) final 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) override |
| |
| virtual void | RHISetScissorRect (bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY) final override |
| |
| virtual void | RHISetGraphicsPipelineState (FRHIGraphicsPipelineState *GraphicsPipelineState, uint32 StencilRef, bool bApplyAdditionalState) final override |
| |
| virtual void | RHISetShaderParameters (FRHIGraphicsShader *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 | RHISetShaderRootConstants (const FUint32Vector4 &Constants) override |
| |
| virtual void | RHIDispatchComputeShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated) override |
| |
| virtual void | RHIDispatchGraphicsShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated) override |
| |
| 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 | RHIMultiDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBufferOffset, uint32 MaxDrawArguments) final override |
| |
| virtual void | RHISetDepthBounds (float MinDepth, float MaxDepth) final override |
| |
| virtual void | RHISetShadingRate (EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) final override |
| |
| virtual void | RHIClearMRTImpl (bool *bClearColorArray, int32 NumClearColors, const FLinearColor *ColorArray, bool bClearDepth, float Depth, bool bClearStencil, uint32 Stencil) |
| |
| virtual void | RHIBeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *InName) |
| |
| virtual void | RHIEndRenderPass () |
| |
| void | ResolveTexture (UE::RHICore::FResolveTextureInfo Info) |
| |
| template<typename ObjectType , typename RHIType > |
| FORCEINLINE_DEBUGGABLE ObjectType * | RetrieveObject (RHIType *RHIObject) |
| |
| FORCEINLINE_DEBUGGABLE FD3D12Texture * | RetrieveTexture (FRHITexture *Texture) |
| |
| FORCEINLINE_DEBUGGABLE const FD3D12Texture * | RetrieveTexture (const FRHITexture *Texture) |
| |
| uint32 | GetFrameFenceCounter () const |
| |
| uint32 | GetGPUIndex () const |
| |
| virtual void | RHISetGPUMask (FRHIGPUMask InGPUMask) final override |
| |
| const TArray< FRHIUniformBuffer * > & | GetStaticUniformBuffers () const |
| |
| void | FlushPendingDescriptorUpdates () |
| |
| void | SetExplicitDescriptorCache (FD3D12ExplicitDescriptorCache &ExplicitDescriptorCache) |
| |
| void | UnsetExplicitDescriptorCache () |
| |
| virtual void | Finalize (TArray< FD3D12Payload * > &OutPayloads) override |
| |
| const FRHIShaderBindingLayout & | GetShaderBindingLayout () const |
| |
| FORCENOINLINE void | CopyBufferRegionChecked (ID3D12Resource *DestResource, const FName &DestName, uint64 DestOffset, ID3D12Resource *SourceResource, const FName &SourceName, uint64 SourceOffset, uint32 ByteCount) |
| |
| FORCENOINLINE void | CopyTextureRegionChecked (const D3D12_TEXTURE_COPY_LOCATION *DestCopyLocation, int DestX, int DestY, int DestZ, EPixelFormat DestPixelFormat, const D3D12_TEXTURE_COPY_LOCATION *SourceCopyLocation, const D3D12_BOX *SourceBox, EPixelFormat SourcePixelFormat, const FName &DebugName) |
| |
| template<class ShaderType > |
| void | SetResourcesFromTables (const ShaderType *RESTRICT Shader) |
| |
| virtual | ~FD3D12ContextCommon ()=default |
| |
| void | SignalSyncPoint (FD3D12SyncPoint *SyncPoint) |
| |
| void | WaitSyncPoint (FD3D12SyncPoint *SyncPoint) |
| |
| void | SignalManualFence (ID3D12Fence *Fence, uint64 Value) |
| |
| void | WaitManualFence (ID3D12Fence *Fence, uint64 Value) |
| |
| FD3D12QueryLocation | InsertTimestamp (ED3D12Units Units, uint64 *Target) |
| |
| FD3D12QueryLocation | AllocateQuery (ED3D12QueryType Type, void *Target) |
| |
| void | SetReservedBufferCommitSize (FD3D12Buffer *Buffer, uint64 CommitSizeInBytes) |
| |
| bool | IsAsyncComputeContext () const |
| |
| ERHIPipeline | GetRHIPipeline () const |
| |
| bool | IsDefaultContext () const |
| |
| bool | IsOpen () const |
| |
| bool | IsPendingCommands () const |
| |
| FD3D12SyncPoint * | GetContextSyncPoint () |
| |
| void | BindDiagnosticBuffer (FD3D12RootSignature const *RootSignature, ED3D12PipelineType PipelineType) |
| |
| FD3D12QueryAllocator & | GetTimestampQueries () |
| |
| void | BeginRecursiveCommand () |
| |
| FD3D12CommandList & | GetCommandList () |
| |
| void | OpenIfNotAlready () |
| |
| void | FlushCommands (ED3D12FlushFlags FlushFlags=ED3D12FlushFlags::None) |
| |
| void | ConditionalSplitCommandList () |
| |
| auto | BaseCommandList () |
| |
| auto | CopyCommandList () |
| |
| auto | GraphicsCommandList () |
| |
| void | BeginQuery (FD3D12QueryLocation const &Location) |
| |
| void | EndQuery (FD3D12QueryLocation const &Location) |
| |
| void | UpdateResidency (const FD3D12Resource *Resource) |
| |
| void | AddGlobalBarrier (ED3D12Access InD3D12AccessBefore, ED3D12Access InD3D12AccessAfter) |
| |
| void | AddBarrier (const FD3D12Resource *pResource, ED3D12Access InD3D12AccessBefore, ED3D12Access InD3D12AccessAfter, uint32 Subresource) |
| |
| void | FlushResourceBarriers () |
| |
Public Member Functions inherited from FD3D12CommandContextBase |
| | FD3D12CommandContextBase (FD3D12Adapter *InParent, FRHIGPUMask InGPUMask) |
| |
| void | RHIEndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync) final override |
| |
| FRHIGPUMask | GetGPUMask () const |
| |
| FRHIGPUMask | GetPhysicalGPUMask () const |
| |
| virtual void | RHISetAsyncComputeBudget (EAsyncComputeBudget Budget) |
| |
| virtual class FD3D12CommandContextRedirector * | AsRedirector () |
| |
Public Member Functions inherited from IRHICommandContext |
| virtual | ~IRHICommandContext () |
| |
| virtual void | RHIResummarizeHTile (FRHITexture *DepthTexture) |
| |
| void | RHISetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters) |
| |
| virtual void | RHIDispatchMeshShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) |
| |
| virtual void | RHIDispatchIndirectMeshShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) |
| |
| virtual void | RHIGpuHangCommandListCorruption () |
| |
| virtual void | RHIBeginParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > InInfo, const TCHAR *InName) |
| |
| virtual void | RHIEndParallelRenderPass () |
| |
| virtual void | RHINextSubpass () |
| |
| 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 | RHISetComputeBudget (ESyncComputeBudget Budget) |
| |
| 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 | RHIWriteGPUFence (FRHIGPUFence *FenceRHI) |
| |
| 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) |
| |
| | FD3D12AdapterChild (FD3D12Adapter *InParent=nullptr) |
| |
| FORCEINLINE FD3D12Adapter * | GetParentAdapter () const |
| |
| void | SetParentAdapter (FD3D12Adapter *InParent) |
| |
| | FD3D12DeviceChild (FD3D12Device *InParent=nullptr) |
| |
| FORCEINLINE FD3D12Device * | GetParentDevice () const |
| |
| FD3D12Device * | GetParentDevice_Unsafe () const |
| |