UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanCommandListContextImmediate Class Reference

#include <VulkanContext.h>

+ Inheritance diagram for FVulkanCommandListContextImmediate:

Public Member Functions

 FVulkanCommandListContextImmediate (FVulkanDevice &InDevice)
 
- Public Member Functions inherited from FVulkanCommandListContext
 FVulkanCommandListContext (FVulkanDevice &InDevice, ERHIPipeline InPipeline, FVulkanCommandListContext *InImmediate)
 
virtual ~FVulkanCommandListContext ()
 
 FVulkanCommandListContext (FVulkanDevice &InDevice, FVulkanCommandListContext *InImmediate, FVulkanParallelRenderPassInfo *InParallelRenderPassInfo)
 
bool IsImmediate () const
 
virtual ERHIPipeline GetPipeline () const override
 
template<class ShaderType >
void SetResourcesFromTables (const ShaderType *RESTRICT)
 
void CommitGraphicsResourceTables ()
 
void CommitComputeResourceTables ()
 
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 *GraphicsState, uint32 StencilRef, bool bApplyAdditionalState) final override
 
void RHISetShaderTexture (FRHIGraphicsShader *Shader, uint32 TextureIndex, FRHITexture *NewTexture)
 
void RHISetShaderTexture (FRHIComputeShader *PixelShader, uint32 TextureIndex, FRHITexture *NewTexture)
 
void RHISetShaderSampler (FRHIComputeShader *ComputeShader, uint32 SamplerIndex, FRHISamplerState *NewState)
 
void RHISetShaderSampler (FRHIGraphicsShader *Shader, uint32 SamplerIndex, FRHISamplerState *NewState)
 
void RHISetUAVParameter (FRHIPixelShader *PixelShader, uint32 UAVIndex, FRHIUnorderedAccessView *UAV)
 
void RHISetUAVParameter (FRHIComputeShader *ComputeShader, uint32 UAVIndex, FRHIUnorderedAccessView *UAV)
 
void RHISetUAVParameter (FRHIComputeShader *ComputeShader, uint32 UAVIndex, FRHIUnorderedAccessView *UAV, uint32 InitialCount)
 
void RHISetShaderResourceViewParameter (FRHIGraphicsShader *Shader, uint32 SamplerIndex, FRHIShaderResourceView *SRV)
 
void RHISetShaderResourceViewParameter (FRHIComputeShader *ComputeShader, uint32 SamplerIndex, FRHIShaderResourceView *SRV)
 
virtual void RHISetStaticUniformBuffers (const FUniformBufferStaticBindings &InUniformBuffers) final override
 
virtual void RHISetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *Buffer) final override
 
virtual void RHISetUniformBufferDynamicOffset (FUniformBufferStaticSlot Slot, uint32 InOffset) final override
 
void RHISetShaderUniformBuffer (FRHIGraphicsShader *Shader, uint32 BufferIndex, FRHIUniformBuffer *Buffer)
 
void RHISetShaderUniformBuffer (FRHIComputeShader *ComputeShader, uint32 BufferIndex, FRHIUniformBuffer *Buffer)
 
void RHISetShaderParameter (FRHIGraphicsShader *Shader, uint32 BufferIndex, uint32 BaseIndex, uint32 NumBytes, const void *NewValue)
 
void RHISetShaderParameter (FRHIComputeShader *ComputeShader, uint32 BufferIndex, uint32 BaseIndex, uint32 NumBytes, const void *NewValue)
 
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 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 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 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 *DstBuffer, uint64 DstOffset, FRHIBuffer *SrcBuffer, uint64 SrcOffset, uint64 NumBytes) final override
 
virtual void RHIBeginTransitions (TArrayView< const FRHITransition * > Transitions) override final
 
virtual void RHIEndTransitions (TArrayView< const FRHITransition * > Transitions) override final
 
virtual void RHICopyToStagingBuffer (FRHIBuffer *SourceBuffer, FRHIStagingBuffer *DestinationStagingBuffer, uint32 Offset, uint32 NumBytes) final override
 
virtual void RHIWriteGPUFence (FRHIGPUFence *Fence) 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 Finalize (TArray< FVulkanPayload * > &OutPayloads) override
 
virtual void RHIEndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync) final override
 
virtual void RHIBeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *InName) final override
 
virtual void RHIEndRenderPass () final override
 
virtual void RHINextSubpass () final override
 
virtual void RHIBeginParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > InInfo, const TCHAR *InName) final override
 
virtual void RHIEndParallelRenderPass () final override
 
virtual void RHIClearShaderBindingTable (FRHIShaderBindingTable *SBT) final override
 
virtual void RHICommitShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer) final override
 
virtual void RHIBindAccelerationStructureMemory (FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset) final override
 
virtual void RHIBuildAccelerationStructures (TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange) final override
 
virtual void RHIBuildAccelerationStructures (TConstArrayView< FRayTracingSceneBuildParams > Params) final override
 
virtual void RHIRayTraceDispatch (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height) final override
 
virtual void RHIRayTraceDispatchIndirect (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
 
virtual void RHISetBindingsOnShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType) final override
 
FVulkanPendingGfxStateGetPendingGfxState ()
 
FVulkanPendingComputeStateGetPendingComputeState ()
 
void NotifyDeletedRenderTarget (VkImage Image)
 
FVulkanRenderPassGetCurrentRenderPass ()
 
FVulkanFramebufferGetCurrentFramebuffer ()
 
FVulkanGPUProfilerGetGPUProfiler ()
 
void BeginRecursiveCommand ()
 
void ReleasePendingState ()
 
FVulkanQueryPoolGetCurrentOcclusionQueryPool ()
 
virtual FVulkanParallelRenderPassInfoGetParallelRenderPassInfo ()
 
void SetParallelRenderPassInfo (FVulkanParallelRenderPassInfo *ParallelRenderPassInfo)
 
bool AcquirePoolSetAndDescriptorsIfNeeded (const class FVulkanDescriptorSetsLayout &Layout, bool bNeedDescriptors, VkDescriptorSet *OutDescriptors)
 
bool IsSwapchainImage (FRHITexture *InTexture) const
 
FVulkanSwapChainGetSwapChain () const
 
FVulkanRenderPassPrepareRenderPassForPSOCreation (const FGraphicsPipelineStateInitializer &Initializer)
 
FVulkanRenderPassPrepareRenderPassForPSOCreation (const FVulkanRenderTargetLayout &Initializer)
 
void ApplyShaderBindingLayout (VkShaderStageFlags ShaderStageFlags)
 
- Public Member Functions inherited from FVulkanContextCommon
 FVulkanContextCommon (FVulkanDevice &InDevice, FVulkanQueue &InQueue, EVulkanCommandBufferType InCommandBufferType)
 
virtual ~FVulkanContextCommon ()
 
FVulkanPayloadGetPayload (EPhase Phase)
 
FVulkanCommandBufferGetActiveCmdBuffer ()
 
FVulkanCommandBufferGetCommandBuffer ()
 
void AddWaitSemaphore (VkPipelineStageFlags InWaitFlags, FVulkanSemaphore *InWaitSemaphore)
 
void AddWaitSemaphores (VkPipelineStageFlags InWaitFlags, TArrayView< FVulkanSemaphore * > InWaitSemaphores)
 
void AddSignalSemaphore (FVulkanSemaphore *InSignalSemaphore)
 
void AddSignalSemaphores (TArrayView< FVulkanSemaphore * > InSignalSemaphores)
 
VkCommandPool GetHandle () const
 
void FreeUnusedCmdBuffers (bool bTrimMemory)
 
void FlushCommands (EVulkanFlushFlags FlushFlags=EVulkanFlushFlags::None)
 
void SignalSyncPoint (const FVulkanSyncPointRef &InSync)
 
void AddPendingSyncPoint (const FVulkanSyncPointRef &InSyncs)
 
void AddSubmissionEvent (const FGraphEventRef &InEvent)
 
void FlushPendingSyncPoints ()
 
FVulkanSyncPointRef GetContextSyncPoint ()
 
TArray< FVulkanQueryPool * > & GetQueryPoolArray (EVulkanQueryPoolType Type)
 
FVulkanQueryPoolGetCurrentTimestampQueryPool ()
 
void HandleReservedResourceCommits (TArrayView< const FRHITransition * > Transitions)
 
- Public Member Functions inherited from IRHICommandContext
virtual ~IRHICommandContext ()
 
virtual void RHIResummarizeHTile (FRHITexture *DepthTexture)
 
void RHISetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
virtual void RHISetShaderUnbinds (FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
virtual void RHISetBlendFactor (const FLinearColor &BlendFactor)
 
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 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)
 
- Public Member Functions inherited from IRHIComputeContext
virtual ~IRHIComputeContext ()
 
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 RHISetGPUMask (FRHIGPUMask GPUMask)
 
virtual FRHIGPUMask RHIGetGPUMask () const
 
virtual void RHIExecuteMultiIndirectClusterOperation (const FRayTracingClusterOperationParams &Params)
 
IRHIComputeContextGetLowestLevelContext ()
 
IRHIComputeContext const & GetHighestLevelContext () const
 
IRHIComputeContextGetHighestLevelContext ()
 
void SetTrackedAccess (const FRHITrackedAccessInfo &Info)
 
ERHIAccess GetTrackedAccess (const FRHIViewableResource *Resource) const
 
ERHIPipeline GetTrackedPipelines (const FRHIViewableResource *Resource) const
 
virtual voidRHIGetNativeCommandBuffer ()
 
virtual void RHIPostExternalCommandsReset ()
 
FRHICommandListBaseGetExecutingCommandList () const
 
virtual void SetExecutingCommandList (FRHICommandListBase *InCmdList)
 

Static Public Member Functions

static FVulkanCommandListContextImmediateGet (FRHICommandListBase &RHICmdList)
 
- Static Public Member Functions inherited from FVulkanCommandListContext
static FVulkanCommandListContextGet (FRHICommandListBase &RHICmdList)
 

Additional Inherited Members

- Public Attributes inherited from FVulkanContextCommon
FVulkanDeviceDevice
 
FVulkanQueueQueue
 
- Protected Types inherited from FVulkanCommandListContext
enum  { MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 16 }
 
- Protected Types inherited from FVulkanContextCommon
enum class  EPhase { Wait , UpdateReservedResources , Execute , Signal }
 
- Protected Member Functions inherited from FVulkanCommandListContext
void ExtractDepthStencilLayouts (const FRHIRenderPassInfo &InInfo, VkImageLayout &OutDepthLayout, VkImageLayout &OutStencilLayout)
 
void FillDynamicRenderingInfo (const FRHIRenderPassInfo &RenderPassInfo, FVulkanDynamicRenderingInfo &OutRenderingInfo)
 
void BeginOcclusionQueryBatch (uint32 NumQueriesInBatch, uint32 MultiViewCount)
 
void InternalClearMRT (FVulkanCommandBuffer &CommandBuffer, bool bClearColor, int32 NumClearColors, const FLinearColor *ColorArray, bool bClearDepth, float Depth, bool bClearStencil, uint32 Stencil)
 
void AcquirePoolSetContainer ()
 
- Protected Member Functions inherited from FVulkanContextCommon
void AppendParallelRenderPayload (FVulkanPayload *ParallelRenderingPayload)
 
- Protected Attributes inherited from FVulkanCommandListContext
FVulkanCommandListContextImmediate
 
const ERHIPipeline RHIPipeline
 
const bool bSupportsBreadcrumbs
 
TArray< FString > EventStack
 
FVulkanRenderPassCurrentRenderPass = nullptr
 
FVulkanFramebufferCurrentFramebuffer = nullptr
 
FVulkanParallelRenderPassInfoCurrentParallelRenderPassInfo = nullptr
 
FVulkanPendingGfxStatePendingGfxState = nullptr
 
FVulkanPendingComputeStatePendingComputeState = nullptr
 
FVulkanUniformBufferBoundUniformBuffers [SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE] = {}
 
uint16 DirtyUniformBuffers [SF_NumStandardFrequencies] = {}
 
FVulkanDescriptorPoolSetContainerCurrentDescriptorPoolSetContainer = nullptr
 
TMap< uint32, class FVulkanTypedDescriptorPoolSet * > TypedDescriptorPoolSets
 
- Protected Attributes inherited from IRHICommandContext
FRHIRenderPassInfo RenderPassInfo
 
- Protected Attributes inherited from IRHIComputeContext
UE::RHI::GPUProfiler::FEvent::FStats StatEvent {}
 

Constructor & Destructor Documentation

◆ FVulkanCommandListContextImmediate()

FVulkanCommandListContextImmediate::FVulkanCommandListContextImmediate ( FVulkanDevice InDevice)

Member Function Documentation

◆ Get()

static FVulkanCommandListContextImmediate & FVulkanCommandListContextImmediate::Get ( FRHICommandListBase RHICmdList)
inlinestatic

The documentation for this class was generated from the following files: