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

#include <VulkanPendingState.h>

Classes

struct  FVertexStream
 

Public Member Functions

 FVulkanPendingGfxState (FVulkanDevice &InDevice)
 
 ~FVulkanPendingGfxState ()
 
void Reset ()
 
const uint64 GetCurrentShaderKey (EShaderFrequency Frequency) const
 
const uint64 GetCurrentShaderKey (ShaderStage::EStage Stage) const
 
const FVulkanShaderGetCurrentShader (EShaderFrequency Frequency) const
 
void SetViewport (float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)
 
void SetMultiViewport (const TArrayView< VkViewport > &InViewports)
 
void SetScissor (bool bInEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY)
 
void SetScissorRect (uint32 MinX, uint32 MinY, uint32 Width, uint32 Height)
 
void SetStreamSource (uint32 StreamIndex, VkBuffer VertexBuffer, uint32 Offset)
 
void Bind (VkCommandBuffer CmdBuffer)
 
void SetTextureForStage (ShaderStage::EStage Stage, uint32 ParameterIndex, const FVulkanTexture *Texture, VkImageLayout Layout)
 
void SetTextureForUBResource (uint8 DescriptorSet, uint32 BindingIndex, const FVulkanTexture *Texture, VkImageLayout Layout)
 
template<bool bDynamic>
void SetUniformBuffer (uint8 DescriptorSet, uint32 BindingIndex, const FVulkanUniformBuffer *UniformBuffer)
 
void SetUAVForUBResource (uint8 DescriptorSet, uint32 BindingIndex, FVulkanUnorderedAccessView *UAV)
 
void SetUAVForStage (ShaderStage::EStage Stage, uint32 ParameterIndex, FVulkanUnorderedAccessView *UAV)
 
void SetSRVForUBResource (uint8 DescriptorSet, uint32 BindingIndex, FVulkanShaderResourceView *SRV)
 
void SetSRVForStage (ShaderStage::EStage Stage, uint32 ParameterIndex, FVulkanShaderResourceView *SRV)
 
void SetSamplerStateForStage (ShaderStage::EStage Stage, uint32 ParameterIndex, FVulkanSamplerState *Sampler)
 
void SetSamplerStateForUBResource (uint32 DescriptorSet, uint32 BindingIndex, FVulkanSamplerState *Sampler)
 
void SetPackedGlobalShaderParameter (ShaderStage::EStage Stage, uint32 BufferIndex, uint32 Offset, uint32 NumBytes, const void *NewValue)
 
void PrepareForDraw (FVulkanCommandListContext &Context)
 
bool SetGfxPipeline (FVulkanGraphicsPipelineState *InGfxPipeline, bool bForceReset)
 
void UpdateDynamicStates (FVulkanCommandBuffer &CommandBuffer)
 
void SetStencilRef (uint32 InStencilRef)
 
void NotifyDeletedPipeline (FVulkanGraphicsPipelineState *Pipeline)
 

Protected Member Functions

void UpdateInputAttachments (FVulkanFramebuffer *Framebuffer)
 

Protected Attributes

TArray< VkViewport, TInlineAllocator< 2 > > Viewports
 
TArray< VkRect2D, TInlineAllocator< 2 > > Scissors
 
EPrimitiveType PrimitiveType = PT_Num
 
uint32 StencilRef
 
bool bScissorEnable
 
bool bNeedToClear
 
FVulkanGraphicsPipelineStateCurrentPipeline
 
FVulkanGraphicsPipelineDescriptorStateCurrentState
 
TMap< FVulkanGraphicsPipelineState *, FVulkanGraphicsPipelineDescriptorState * > PipelineStates
 
FVertexStream PendingStreams [MaxVertexElementCount]
 
bool bDirtyVertexStreams
 
bool bDirtyDynamicVertexInput
 
FVulkanDeviceDevice
 

Friends

class FVulkanCommandListContext
 

Constructor & Destructor Documentation

◆ FVulkanPendingGfxState()

FVulkanPendingGfxState::FVulkanPendingGfxState ( FVulkanDevice InDevice)
inline

◆ ~FVulkanPendingGfxState()

FVulkanPendingGfxState::~FVulkanPendingGfxState ( )

Member Function Documentation

◆ Bind()

void FVulkanPendingGfxState::Bind ( VkCommandBuffer  CmdBuffer)
inline

◆ GetCurrentShader()

const FVulkanShader * FVulkanPendingGfxState::GetCurrentShader ( EShaderFrequency  Frequency) const
inline

◆ GetCurrentShaderKey() [1/2]

const uint64 FVulkanPendingGfxState::GetCurrentShaderKey ( EShaderFrequency  Frequency) const
inline

◆ GetCurrentShaderKey() [2/2]

const uint64 FVulkanPendingGfxState::GetCurrentShaderKey ( ShaderStage::EStage  Stage) const
inline

◆ NotifyDeletedPipeline()

void FVulkanPendingGfxState::NotifyDeletedPipeline ( FVulkanGraphicsPipelineState Pipeline)
inline

◆ PrepareForDraw()

void FVulkanPendingGfxState::PrepareForDraw ( FVulkanCommandListContext Context)

◆ Reset()

void FVulkanPendingGfxState::Reset ( )
inline

◆ SetGfxPipeline()

bool FVulkanPendingGfxState::SetGfxPipeline ( FVulkanGraphicsPipelineState InGfxPipeline,
bool  bForceReset 
)

◆ SetMultiViewport()

void FVulkanPendingGfxState::SetMultiViewport ( const TArrayView< VkViewport > &  InViewports)
inline

◆ SetPackedGlobalShaderParameter()

void FVulkanPendingGfxState::SetPackedGlobalShaderParameter ( ShaderStage::EStage  Stage,
uint32  BufferIndex,
uint32  Offset,
uint32  NumBytes,
const void NewValue 
)
inline

◆ SetSamplerStateForStage()

void FVulkanPendingGfxState::SetSamplerStateForStage ( ShaderStage::EStage  Stage,
uint32  ParameterIndex,
FVulkanSamplerState Sampler 
)
inline

◆ SetSamplerStateForUBResource()

void FVulkanPendingGfxState::SetSamplerStateForUBResource ( uint32  DescriptorSet,
uint32  BindingIndex,
FVulkanSamplerState Sampler 
)
inline

◆ SetScissor()

void FVulkanPendingGfxState::SetScissor ( bool  bInEnable,
uint32  MinX,
uint32  MinY,
uint32  MaxX,
uint32  MaxY 
)
inline

◆ SetScissorRect()

void FVulkanPendingGfxState::SetScissorRect ( uint32  MinX,
uint32  MinY,
uint32  Width,
uint32  Height 
)
inline

◆ SetSRVForStage()

void FVulkanPendingGfxState::SetSRVForStage ( ShaderStage::EStage  Stage,
uint32  ParameterIndex,
FVulkanShaderResourceView SRV 
)
inline

◆ SetSRVForUBResource()

void FVulkanPendingGfxState::SetSRVForUBResource ( uint8  DescriptorSet,
uint32  BindingIndex,
FVulkanShaderResourceView SRV 
)

◆ SetStencilRef()

void FVulkanPendingGfxState::SetStencilRef ( uint32  InStencilRef)
inline

◆ SetStreamSource()

void FVulkanPendingGfxState::SetStreamSource ( uint32  StreamIndex,
VkBuffer  VertexBuffer,
uint32  Offset 
)
inline

◆ SetTextureForStage()

void FVulkanPendingGfxState::SetTextureForStage ( ShaderStage::EStage  Stage,
uint32  ParameterIndex,
const FVulkanTexture Texture,
VkImageLayout  Layout 
)
inline

◆ SetTextureForUBResource()

void FVulkanPendingGfxState::SetTextureForUBResource ( uint8  DescriptorSet,
uint32  BindingIndex,
const FVulkanTexture Texture,
VkImageLayout  Layout 
)
inline

◆ SetUAVForStage()

void FVulkanPendingGfxState::SetUAVForStage ( ShaderStage::EStage  Stage,
uint32  ParameterIndex,
FVulkanUnorderedAccessView UAV 
)
inline

◆ SetUAVForUBResource()

void FVulkanPendingGfxState::SetUAVForUBResource ( uint8  DescriptorSet,
uint32  BindingIndex,
FVulkanUnorderedAccessView UAV 
)

◆ SetUniformBuffer()

template<bool bDynamic>
void FVulkanPendingGfxState::SetUniformBuffer ( uint8  DescriptorSet,
uint32  BindingIndex,
const FVulkanUniformBuffer UniformBuffer 
)
inline

◆ SetViewport()

void FVulkanPendingGfxState::SetViewport ( float  MinX,
float  MinY,
float  MinZ,
float  MaxX,
float  MaxY,
float  MaxZ 
)
inline

◆ UpdateDynamicStates()

void FVulkanPendingGfxState::UpdateDynamicStates ( FVulkanCommandBuffer CommandBuffer)

◆ UpdateInputAttachments()

void FVulkanPendingGfxState::UpdateInputAttachments ( FVulkanFramebuffer Framebuffer)
protected

Friends And Related Symbol Documentation

◆ FVulkanCommandListContext

Member Data Documentation

◆ bDirtyDynamicVertexInput

bool FVulkanPendingGfxState::bDirtyDynamicVertexInput
protected

◆ bDirtyVertexStreams

bool FVulkanPendingGfxState::bDirtyVertexStreams
protected

◆ bNeedToClear

bool FVulkanPendingGfxState::bNeedToClear
protected

◆ bScissorEnable

bool FVulkanPendingGfxState::bScissorEnable
protected

◆ CurrentPipeline

FVulkanGraphicsPipelineState* FVulkanPendingGfxState::CurrentPipeline
protected

◆ CurrentState

FVulkanGraphicsPipelineDescriptorState* FVulkanPendingGfxState::CurrentState
protected

◆ Device

FVulkanDevice& FVulkanPendingGfxState::Device
protected

◆ PendingStreams

FVertexStream FVulkanPendingGfxState::PendingStreams[MaxVertexElementCount]
protected

◆ PipelineStates

TMap<FVulkanGraphicsPipelineState*, FVulkanGraphicsPipelineDescriptorState*> FVulkanPendingGfxState::PipelineStates
protected

◆ PrimitiveType

EPrimitiveType FVulkanPendingGfxState::PrimitiveType = PT_Num
protected

◆ Scissors

TArray<VkRect2D, TInlineAllocator<2> > FVulkanPendingGfxState::Scissors
protected

◆ StencilRef

uint32 FVulkanPendingGfxState::StencilRef
protected

◆ Viewports

TArray<VkViewport, TInlineAllocator<2> > FVulkanPendingGfxState::Viewports
protected

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