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

#include <VulkanContext.h>

+ Inheritance diagram for FVulkanCommandListContext:

Public Member Functions

 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 FVulkanCommandListContextGet (FRHICommandListBase &RHICmdList)
 

Protected Types

enum  { MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE = 16 }
 
- Protected Types inherited from FVulkanContextCommon
enum class  EPhase { Wait , UpdateReservedResources , Execute , Signal }
 

Protected Member Functions

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

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 {}
 

Friends

class FVulkanDevice
 
class FVulkanDynamicRHI
 

Additional Inherited Members

- Public Attributes inherited from FVulkanContextCommon
FVulkanDeviceDevice
 
FVulkanQueueQueue
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE 

Constructor & Destructor Documentation

◆ FVulkanCommandListContext() [1/2]

FVulkanCommandListContext::FVulkanCommandListContext ( FVulkanDevice InDevice,
ERHIPipeline  InPipeline,
FVulkanCommandListContext InImmediate 
)

◆ ~FVulkanCommandListContext()

FVulkanCommandListContext::~FVulkanCommandListContext ( )
virtual

◆ FVulkanCommandListContext() [2/2]

FVulkanCommandListContext::FVulkanCommandListContext ( FVulkanDevice InDevice,
FVulkanCommandListContext InImmediate,
FVulkanParallelRenderPassInfo InParallelRenderPassInfo 
)

Member Function Documentation

◆ AcquirePoolSetAndDescriptorsIfNeeded()

bool FVulkanCommandListContext::AcquirePoolSetAndDescriptorsIfNeeded ( const class FVulkanDescriptorSetsLayout Layout,
bool  bNeedDescriptors,
VkDescriptorSet OutDescriptors 
)

◆ AcquirePoolSetContainer()

void FVulkanCommandListContext::AcquirePoolSetContainer ( )
protected

◆ ApplyShaderBindingLayout()

void FVulkanCommandListContext::ApplyShaderBindingLayout ( VkShaderStageFlags  ShaderStageFlags)

◆ BeginOcclusionQueryBatch()

void FVulkanCommandListContext::BeginOcclusionQueryBatch ( uint32  NumQueriesInBatch,
uint32  MultiViewCount 
)
protected

◆ BeginRecursiveCommand()

void FVulkanCommandListContext::BeginRecursiveCommand ( )
inline

◆ CommitComputeResourceTables()

void FVulkanCommandListContext::CommitComputeResourceTables ( )

◆ CommitGraphicsResourceTables()

void FVulkanCommandListContext::CommitGraphicsResourceTables ( )

◆ ExtractDepthStencilLayouts()

void FVulkanCommandListContext::ExtractDepthStencilLayouts ( const FRHIRenderPassInfo InInfo,
VkImageLayout OutDepthLayout,
VkImageLayout OutStencilLayout 
)
protected

◆ FillDynamicRenderingInfo()

void FVulkanCommandListContext::FillDynamicRenderingInfo ( const FRHIRenderPassInfo RenderPassInfo,
FVulkanDynamicRenderingInfo OutRenderingInfo 
)
protected

◆ Finalize()

void FVulkanCommandListContext::Finalize ( TArray< FVulkanPayload * > &  OutPayloads)
overridevirtual

Reimplemented from FVulkanContextCommon.

◆ Get()

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

◆ GetCurrentFramebuffer()

FVulkanFramebuffer * FVulkanCommandListContext::GetCurrentFramebuffer ( )
inline

◆ GetCurrentOcclusionQueryPool()

FVulkanQueryPool * FVulkanCommandListContext::GetCurrentOcclusionQueryPool ( )

◆ GetCurrentRenderPass()

FVulkanRenderPass * FVulkanCommandListContext::GetCurrentRenderPass ( )
inline

◆ GetGPUProfiler()

FVulkanGPUProfiler & FVulkanCommandListContext::GetGPUProfiler ( )
inline

◆ GetParallelRenderPassInfo()

virtual FVulkanParallelRenderPassInfo * FVulkanCommandListContext::GetParallelRenderPassInfo ( )
inlinevirtual

Reimplemented from FVulkanContextCommon.

◆ GetPendingComputeState()

FVulkanPendingComputeState * FVulkanCommandListContext::GetPendingComputeState ( )
inline

◆ GetPendingGfxState()

FVulkanPendingGfxState * FVulkanCommandListContext::GetPendingGfxState ( )
inline

◆ GetPipeline()

virtual ERHIPipeline FVulkanCommandListContext::GetPipeline ( ) const
inlineoverridevirtual

Reimplemented from IRHICommandContext.

◆ GetSwapChain()

FVulkanSwapChain * FVulkanCommandListContext::GetSwapChain ( ) const

◆ InternalClearMRT()

void FVulkanCommandListContext::InternalClearMRT ( FVulkanCommandBuffer CommandBuffer,
bool  bClearColor,
int32  NumClearColors,
const FLinearColor ColorArray,
bool  bClearDepth,
float  Depth,
bool  bClearStencil,
uint32  Stencil 
)
protected

◆ IsImmediate()

bool FVulkanCommandListContext::IsImmediate ( ) const
inline

◆ IsSwapchainImage()

bool FVulkanCommandListContext::IsSwapchainImage ( FRHITexture InTexture) const

◆ NotifyDeletedRenderTarget()

void FVulkanCommandListContext::NotifyDeletedRenderTarget ( VkImage  Image)

◆ PrepareRenderPassForPSOCreation() [1/2]

FVulkanRenderPass * FVulkanCommandListContext::PrepareRenderPassForPSOCreation ( const FGraphicsPipelineStateInitializer Initializer)

◆ PrepareRenderPassForPSOCreation() [2/2]

FVulkanRenderPass * FVulkanCommandListContext::PrepareRenderPassForPSOCreation ( const FVulkanRenderTargetLayout Initializer)

◆ ReleasePendingState()

void FVulkanCommandListContext::ReleasePendingState ( )

◆ RHIBeginParallelRenderPass()

void FVulkanCommandListContext::RHIBeginParallelRenderPass ( TSharedPtr< FRHIParallelRenderPassInfo InInfo,
const TCHAR InName 
)
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHIBeginRenderPass()

void FVulkanCommandListContext::RHIBeginRenderPass ( const FRHIRenderPassInfo InInfo,
const TCHAR InName 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIBeginRenderQuery()

void FVulkanCommandListContext::RHIBeginRenderQuery ( FRHIRenderQuery RenderQuery)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIBeginTransitions()

void FVulkanCommandListContext::RHIBeginTransitions ( TArrayView< const FRHITransition * >  Transitions)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHIBindAccelerationStructureMemory()

void FVulkanCommandListContext::RHIBindAccelerationStructureMemory ( FRHIRayTracingScene Scene,
FRHIBuffer Buffer,
uint32  BufferOffset 
)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHIBuildAccelerationStructures() [1/2]

void FVulkanCommandListContext::RHIBuildAccelerationStructures ( TConstArrayView< FRayTracingGeometryBuildParams Params,
const FRHIBufferRange ScratchBufferRange 
)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHIBuildAccelerationStructures() [2/2]

void FVulkanCommandListContext::RHIBuildAccelerationStructures ( TConstArrayView< FRayTracingSceneBuildParams Params)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHICalibrateTimers()

void FVulkanCommandListContext::RHICalibrateTimers ( FRHITimestampCalibrationQuery CalibrationQuery)
finaloverridevirtual

◆ RHIClearShaderBindingTable()

void FVulkanCommandListContext::RHIClearShaderBindingTable ( FRHIShaderBindingTable SBT)
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHIClearUAVFloat()

void FVulkanCommandListContext::RHIClearUAVFloat ( FRHIUnorderedAccessView UnorderedAccessViewRHI,
const FVector4f Values 
)
finaloverridevirtual

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
UnorderedAccessViewRHIThe UAV to clear.
ValuesThe values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored.

Implements IRHIComputeContext.

◆ RHIClearUAVUint()

void FVulkanCommandListContext::RHIClearUAVUint ( FRHIUnorderedAccessView UnorderedAccessViewRHI,
const FUintVector4 Values 
)
finaloverridevirtual

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
UnorderedAccessViewRHIThe UAV to clear.
ValuesThe values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored.

Implements IRHIComputeContext.

◆ RHICommitShaderBindingTable()

void FVulkanCommandListContext::RHICommitShaderBindingTable ( FRHIShaderBindingTable SBT,
FRHIBuffer InlineBindingDataBuffer 
)
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHICopyBufferRegion()

void FVulkanCommandListContext::RHICopyBufferRegion ( FRHIBuffer DstBuffer,
uint64  DstOffset,
FRHIBuffer SrcBuffer,
uint64  SrcOffset,
uint64  NumBytes 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHICopyTexture()

void FVulkanCommandListContext::RHICopyTexture ( FRHITexture SourceTexture,
FRHITexture DestTexture,
const FRHICopyTextureInfo CopyInfo 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHICopyToStagingBuffer()

void FVulkanCommandListContext::RHICopyToStagingBuffer ( FRHIBuffer SourceBufferRHI,
FRHIStagingBuffer DestinationStagingBufferRHI,
uint32  InOffset,
uint32  InNumBytes 
)
finaloverridevirtual

Performs a copy of the data in 'SourceBuffer' to 'DestinationStagingBuffer.' This will occur inline on the GPU timeline. This is a mechanism to perform nonblocking readback of a buffer at a point in time.

Parameters
SourceBufferThe source vertex buffer that will be inlined copied.
DestinationStagingBufferThe the host-visible destination buffer
OffsetThe start of the data in 'SourceBuffer'
NumBytesThe number of bytes to copy out of 'SourceBuffer'

Reimplemented from IRHIComputeContext.

◆ RHIDispatchComputeShader()

void FVulkanCommandListContext::RHIDispatchComputeShader ( uint32  ThreadGroupCountX,
uint32  ThreadGroupCountY,
uint32  ThreadGroupCountZ 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDispatchIndirectComputeShader()

void FVulkanCommandListContext::RHIDispatchIndirectComputeShader ( FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedIndirect()

void FVulkanCommandListContext::RHIDrawIndexedIndirect ( FRHIBuffer IndexBufferRHI,
FRHIBuffer ArgumentsBufferRHI,
int32  DrawArgumentsIndex,
uint32  NumInstances 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedPrimitive()

void FVulkanCommandListContext::RHIDrawIndexedPrimitive ( FRHIBuffer IndexBuffer,
int32  BaseVertexIndex,
uint32  FirstInstance,
uint32  NumVertices,
uint32  StartIndex,
uint32  NumPrimitives,
uint32  NumInstances 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedPrimitiveIndirect()

void FVulkanCommandListContext::RHIDrawIndexedPrimitiveIndirect ( FRHIBuffer IndexBuffer,
FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawPrimitive()

void FVulkanCommandListContext::RHIDrawPrimitive ( uint32  BaseVertexIndex,
uint32  NumPrimitives,
uint32  NumInstances 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawPrimitiveIndirect()

void FVulkanCommandListContext::RHIDrawPrimitiveIndirect ( FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndDrawingViewport()

void FVulkanCommandListContext::RHIEndDrawingViewport ( FRHIViewport Viewport,
bool  bPresent,
bool  bLockToVsync 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndParallelRenderPass()

void FVulkanCommandListContext::RHIEndParallelRenderPass ( )
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHIEndRenderPass()

void FVulkanCommandListContext::RHIEndRenderPass ( )
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndRenderQuery()

void FVulkanCommandListContext::RHIEndRenderQuery ( FRHIRenderQuery RenderQuery)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndTransitions()

void FVulkanCommandListContext::RHIEndTransitions ( TArrayView< const FRHITransition * >  Transitions)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHINextSubpass()

void FVulkanCommandListContext::RHINextSubpass ( )
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHIRayTraceDispatch()

void FVulkanCommandListContext::RHIRayTraceDispatch ( FRHIRayTracingPipelineState RayTracingPipelineState,
FRHIRayTracingShader RayGenShader,
FRHIShaderBindingTable SBT,
const FRayTracingShaderBindings GlobalResourceBindings,
uint32  Width,
uint32  Height 
)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHIRayTraceDispatchIndirect()

void FVulkanCommandListContext::RHIRayTraceDispatchIndirect ( FRHIRayTracingPipelineState RayTracingPipelineState,
FRHIRayTracingShader RayGenShader,
FRHIShaderBindingTable SBT,
const FRayTracingShaderBindings GlobalResourceBindings,
FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHISetBindingsOnShaderBindingTable()

void FVulkanCommandListContext::RHISetBindingsOnShaderBindingTable ( FRHIShaderBindingTable SBT,
FRHIRayTracingPipelineState Pipeline,
uint32  NumBindings,
const FRayTracingLocalShaderBindings Bindings,
ERayTracingBindingType  BindingType 
)
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHISetComputePipelineState()

void FVulkanCommandListContext::RHISetComputePipelineState ( FRHIComputePipelineState ComputePipelineState)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetDepthBounds()

void FVulkanCommandListContext::RHISetDepthBounds ( float  MinDepth,
float  MaxDepth 
)
finaloverridevirtual

Sets Depth Bounds range with the given min/max depth.

Parameters
MinDepthThe minimum depth for depth bounds test
MaxDepthThe maximum depth for depth bounds test. The valid values for fMinDepth and fMaxDepth are such that 0 <= fMinDepth <= fMaxDepth <= 1

Implements IRHICommandContext.

◆ RHISetGraphicsPipelineState()

void FVulkanCommandListContext::RHISetGraphicsPipelineState ( FRHIGraphicsPipelineState GraphicsState,
uint32  StencilRef,
bool  bApplyAdditionalState 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHISetMultipleViewports()

void FVulkanCommandListContext::RHISetMultipleViewports ( uint32  Count,
const FViewportBounds Data 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHISetScissorRect()

void FVulkanCommandListContext::RHISetScissorRect ( bool  bEnable,
uint32  MinX,
uint32  MinY,
uint32  MaxX,
uint32  MaxY 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHISetShaderParameter() [1/2]

void FVulkanCommandListContext::RHISetShaderParameter ( FRHIComputeShader ComputeShader,
uint32  BufferIndex,
uint32  BaseIndex,
uint32  NumBytes,
const void NewValue 
)

◆ RHISetShaderParameter() [2/2]

void FVulkanCommandListContext::RHISetShaderParameter ( FRHIGraphicsShader Shader,
uint32  BufferIndex,
uint32  BaseIndex,
uint32  NumBytes,
const void NewValue 
)

◆ RHISetShaderParameters() [1/2]

void FVulkanCommandListContext::RHISetShaderParameters ( FRHIComputeShader Shader,
TConstArrayView< uint8 InParametersData,
TConstArrayView< FRHIShaderParameter InParameters,
TConstArrayView< FRHIShaderParameterResource InResourceParameters,
TConstArrayView< FRHIShaderParameterResource InBindlessParameters 
)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetShaderParameters() [2/2]

void FVulkanCommandListContext::RHISetShaderParameters ( FRHIGraphicsShader Shader,
TConstArrayView< uint8 InParametersData,
TConstArrayView< FRHIShaderParameter InParameters,
TConstArrayView< FRHIShaderParameterResource InResourceParameters,
TConstArrayView< FRHIShaderParameterResource InBindlessParameters 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHISetShaderResourceViewParameter() [1/2]

void FVulkanCommandListContext::RHISetShaderResourceViewParameter ( FRHIComputeShader ComputeShader,
uint32  SamplerIndex,
FRHIShaderResourceView SRV 
)

◆ RHISetShaderResourceViewParameter() [2/2]

void FVulkanCommandListContext::RHISetShaderResourceViewParameter ( FRHIGraphicsShader Shader,
uint32  SamplerIndex,
FRHIShaderResourceView SRV 
)

◆ RHISetShaderSampler() [1/2]

void FVulkanCommandListContext::RHISetShaderSampler ( FRHIComputeShader ComputeShader,
uint32  SamplerIndex,
FRHISamplerState NewState 
)

◆ RHISetShaderSampler() [2/2]

void FVulkanCommandListContext::RHISetShaderSampler ( FRHIGraphicsShader Shader,
uint32  SamplerIndex,
FRHISamplerState NewState 
)

◆ RHISetShaderTexture() [1/2]

void FVulkanCommandListContext::RHISetShaderTexture ( FRHIComputeShader PixelShader,
uint32  TextureIndex,
FRHITexture NewTexture 
)

◆ RHISetShaderTexture() [2/2]

void FVulkanCommandListContext::RHISetShaderTexture ( FRHIGraphicsShader Shader,
uint32  TextureIndex,
FRHITexture NewTexture 
)

◆ RHISetShaderUniformBuffer() [1/2]

void FVulkanCommandListContext::RHISetShaderUniformBuffer ( FRHIComputeShader ComputeShader,
uint32  BufferIndex,
FRHIUniformBuffer Buffer 
)

◆ RHISetShaderUniformBuffer() [2/2]

void FVulkanCommandListContext::RHISetShaderUniformBuffer ( FRHIGraphicsShader Shader,
uint32  BufferIndex,
FRHIUniformBuffer Buffer 
)

◆ RHISetStaticUniformBuffer()

void FVulkanCommandListContext::RHISetStaticUniformBuffer ( FUniformBufferStaticSlot  Slot,
FRHIUniformBuffer Buffer 
)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetStaticUniformBuffers()

void FVulkanCommandListContext::RHISetStaticUniformBuffers ( const FUniformBufferStaticBindings InUniformBuffers)
finaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetStencilRef()

void FVulkanCommandListContext::RHISetStencilRef ( uint32  StencilRef)
finaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHISetStereoViewport()

void FVulkanCommandListContext::RHISetStereoViewport ( float  LeftMinX,
float  RightMinX,
float  LeftMinY,
float  RightMinY,
float  MinZ,
float  LeftMaxX,
float  RightMaxX,
float  LeftMaxY,
float  RightMaxY,
float  MaxZ 
)
overridevirtual

Reimplemented from IRHICommandContext.

◆ RHISetStreamSource()

void FVulkanCommandListContext::RHISetStreamSource ( uint32  StreamIndex,
FRHIBuffer VertexBuffer,
uint32  Offset 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHISetUAVParameter() [1/3]

void FVulkanCommandListContext::RHISetUAVParameter ( FRHIComputeShader ComputeShader,
uint32  UAVIndex,
FRHIUnorderedAccessView UAV 
)

◆ RHISetUAVParameter() [2/3]

void FVulkanCommandListContext::RHISetUAVParameter ( FRHIComputeShader ComputeShader,
uint32  UAVIndex,
FRHIUnorderedAccessView UAV,
uint32  InitialCount 
)

◆ RHISetUAVParameter() [3/3]

void FVulkanCommandListContext::RHISetUAVParameter ( FRHIPixelShader PixelShader,
uint32  UAVIndex,
FRHIUnorderedAccessView UAV 
)

◆ RHISetUniformBufferDynamicOffset()

void FVulkanCommandListContext::RHISetUniformBufferDynamicOffset ( FUniformBufferStaticSlot  Slot,
uint32  InOffset 
)
finaloverridevirtual

Reimplemented from IRHIComputeContext.

◆ RHISetViewport()

void FVulkanCommandListContext::RHISetViewport ( float  MinX,
float  MinY,
float  MinZ,
float  MaxX,
float  MaxY,
float  MaxZ 
)
finaloverridevirtual

Implements IRHICommandContext.

◆ RHIWriteGPUFence()

void FVulkanCommandListContext::RHIWriteGPUFence ( FRHIGPUFence FenceRHI)
finaloverridevirtual

Write the fence in the GPU timeline. The fence can then be tested on the CPU to know if the previous GPU commands are completed.

Parameters
Fence

Reimplemented from IRHIComputeContext.

◆ SetParallelRenderPassInfo()

void FVulkanCommandListContext::SetParallelRenderPassInfo ( FVulkanParallelRenderPassInfo ParallelRenderPassInfo)
inline

◆ SetResourcesFromTables()

template<class ShaderType >
void FVulkanCommandListContext::SetResourcesFromTables ( const ShaderType *  RESTRICT)

Friends And Related Symbol Documentation

◆ FVulkanDevice

friend class FVulkanDevice
friend

◆ FVulkanDynamicRHI

friend class FVulkanDynamicRHI
friend

Member Data Documentation

◆ BoundUniformBuffers

FVulkanUniformBuffer* FVulkanCommandListContext::BoundUniformBuffers[SF_NumStandardFrequencies][MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE] = {}
protected

◆ bSupportsBreadcrumbs

const bool FVulkanCommandListContext::bSupportsBreadcrumbs
protected

◆ CurrentDescriptorPoolSetContainer

FVulkanDescriptorPoolSetContainer* FVulkanCommandListContext::CurrentDescriptorPoolSetContainer = nullptr
protected

◆ CurrentFramebuffer

FVulkanFramebuffer* FVulkanCommandListContext::CurrentFramebuffer = nullptr
protected

◆ CurrentParallelRenderPassInfo

FVulkanParallelRenderPassInfo* FVulkanCommandListContext::CurrentParallelRenderPassInfo = nullptr
protected

◆ CurrentRenderPass

FVulkanRenderPass* FVulkanCommandListContext::CurrentRenderPass = nullptr
protected

◆ DirtyUniformBuffers

uint16 FVulkanCommandListContext::DirtyUniformBuffers[SF_NumStandardFrequencies] = {}
protected

◆ EventStack

TArray<FString> FVulkanCommandListContext::EventStack
protected

◆ Immediate

FVulkanCommandListContext* FVulkanCommandListContext::Immediate
protected

◆ PendingComputeState

FVulkanPendingComputeState* FVulkanCommandListContext::PendingComputeState = nullptr
protected

◆ PendingGfxState

FVulkanPendingGfxState* FVulkanCommandListContext::PendingGfxState = nullptr
protected

◆ RHIPipeline

const ERHIPipeline FVulkanCommandListContext::RHIPipeline
protected

◆ TypedDescriptorPoolSets

TMap<uint32, class FVulkanTypedDescriptorPoolSet*> FVulkanCommandListContext::TypedDescriptorPoolSets
protected

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