Language:
Discover
By Skill Level
By Category

VulkanRHI

Choose your OS:

Classes

Name

Description

Public class

FBufferAllocation

Manages/maintains sub-allocations of a VkBuffer; assumes it was created elsewhere, but it does destroy it.

Public class

FBufferSuballocation

Suballocation of a VkBuffer.

Public class

FDeferredDeletionQueue

Public class

FDeviceChild

Public class

FDeviceMemoryAllocation

An Allocation off a Device Heap. Lowest level of allocations and bounded by VkPhysicalDeviceLimits::maxMemoryAllocationCount.

Public class

FDeviceMemoryManager

Manager of Device Heap Allocations. Calling Alloc/Free is expensive!

Public class

FFence

Public class

FFenceManager

Public class

FGPUEvent

Public class

FOldResourceAllocation

A sub allocation for a specific memory type.

Public class

FOldResourceHeap

A set of Device Allocations (Heap Pages) for a specific memory type.

Public class

FOldResourceHeapPage

One device allocation that is shared amongst different resources.

Public class

FPackedUniformBuffers

This class holds the staging area for packed global uniform buffers for a given shader.

Public struct

FPendingBarrier

Public struct

FRange

Public class

FRefCount

Custom ref counting.

Public class

FResourceHeapManager

Manages heaps and their interactions.

Public class

FResourceSuballocation

This holds the information for a SubAllocation (a range); does NOT hold any information about what the object type is.

Public struct

FSamplerYcbcrConversionInitializer

Public class

FSemaphore

Public class

FStagingBuffer

Public class

FStagingManager

Public class

FSubresourceAllocator

Generically mantains/manages sub-allocations; doesn't know what the object type is.

Public class

FTempFrameAllocationBuffer

Simple tape allocation per frame for a VkBuffer, used for Volatile allocations.

Public class

FTransitionAndLayoutManager

Public class

FTransitionAndLayoutManagerData

Public class

FVulkanBackBuffer

Public class

FVulkanBaseShaderResource

The base class of resources that may be bound as shader resources.

Public class

FVulkanBlendState

Public class

FVulkanBoundShaderState

Public class

FVulkanBuffer

Public struct

FVulkanBufferView

Class FVulkanRenderQuery : public FRHIRenderQuery { public: FVulkanRenderQuery(FVulkanDevice* Device, ERenderQueryType InQueryType) ; virtual ~FVulkanRenderQuery();

inline bool HasQueryBeenEmitted() const { return State == EState::InEnd; }

uint32 LastPoolReset = 0;

private: int32 QueryIndex = INT32_MAX;

const ERenderQueryType QueryType;

FVulkanCmdBuffer* BeginCmdBuffer = nullptr;

friend class FVulkanDynamicRHI ; friend class FVulkanCommandListContext ; friend class FVulkanGPUTiming ;

FVulkanQueryPool* Pool = nullptr; enum class EState { Reset, InBegin, InEnd, HasResults, }; EState State = EState::Reset; uint64 Result = 0;

void Reset(FVulkanQueryPool* InPool, int32 InQueryIndex) { QueryIndex = InQueryIndex; Pool = InPool; State = EState::Reset; } void Begin(FVulkanCmdBuffer* InCmdBuffer); void End(FVulkanCmdBuffer* InCmdBuffer) ;

bool GetResult(FVulkanDevice* Device, uint64& OutResult, bool bWait); }; class FVulkanRenderQuery : public FRHIRenderQuery { public: FVulkanRenderQuery(FVulkanDevice* Device, ERenderQueryType InQueryType) ; virtual ~FVulkanRenderQuery();

inline bool HasQueryBeenEmitted() const { return State == EState::InEnd; }

uint32 LastPoolReset = 0;

private: };

Public struct

FVulkanCommandContextContainer

Public class

FVulkanCommandListContext

Public class

FVulkanCommandListContextImmediate

Public class

FVulkanComputeFence

Public class

FVulkanDepthStencilState

Public class

FVulkanDynamicRHI

The interface which is implemented by the dynamically bound RHI.

Public class

FVulkanDynamicRHIModule

Implements the Vulkan module as a dynamic RHI providing module.

Public class

FVulkanEventNode

A single perf event node, which tracks information about a appBeginDrawEvent/appEndDrawEvent range.

Public class

FVulkanEventNodeFrame

An entire frame of perf event nodes, including ancillary timers.

Public class

FVulkanGPUFence

Public struct

FVulkanGPUProfiler

Encapsulates GPU profiling logic and data.

Public class

FVulkanGPUTiming

Public class

FVulkanIndexBuffer

Public class

FVulkanOcclusionQuery

Public class

FVulkanOcclusionQueryPool

Public class

FVulkanQueryPool

Public class

FVulkanRasterizerState

Public class

FVulkanRealUniformBuffer

Public class

FVulkanRenderQuery

Class FVulkanTimestampQueryPool : public FVulkanQueryPool { public: FVulkanTimestampQueryPool(FVulkanDevice* InDevice, uint32 InMaxQueries) : FVulkanQueryPool(InDevice, InMaxQueries, VK_QUERY_TYPE_TIMESTAMP) { /const uint32 ElementSize = sizeof(decltype(HasResultsMask)::ElementType); /HasResultsMask.AddZeroed((InMaxQueries + (ElementSize - 1)) / ElementSize); }

bool GetResults(uint32 QueryIndex, bool bWait, uint64& OutResults);

protected: /TArray HasResultsMask; /uint32 LastPresentAllocation = 0;

Public class

FVulkanResourceMultiBuffer

Public struct

FVulkanRingBuffer

Public class

FVulkanSamplerState

Public class

FVulkanShader

Public class

FVulkanShaderFactory

Public struct

FVulkanShaderHeader

Vulkan ParameterMap: Buffer Index = EBufferIndex Base Offset = Index into the subtype Size = Ignored for non-globals

Public class

FVulkanShaderResourceView

Public class

FVulkanStagingBuffer

Public class

FVulkanStructuredBuffer

Public class

FVulkanSurface

Texture/RT wrapper.

Public class

FVulkanTexture2D

Public class

FVulkanTexture2DArray

Public class

FVulkanTexture3D

Public struct

FVulkanTextureBase

Public class

FVulkanTextureCube

Public class

FVulkanTextureReference

Public struct

FVulkanTextureView

Public class

FVulkanUniformBuffer

Public struct

FVulkanUniformBufferUploader

Public class

FVulkanUnorderedAccessView

Public class

FVulkanVertexBuffer

Public class

FVulkanVertexDeclaration

This represents a vertex declaration that hasn't been combined with a specific shader to create a bound shader.

Public class

FVulkanVertexInputStateInfo

Public class

FVulkanViewport

Public class

TDataKey

Public class

TDataKeyBase

Public class

TVulkanBaseShader

This represents a vertex shader that hasn't been combined with a specific declaration to create a bound shader.

Public struct

TVulkanResourceTraits

Constants

Typedefs

Enums

Name

Description

Public enum

EVulkanBindingType::EType

Public enum

ShaderStage::EStage

Public enum

VulkanRHI::

DECLARE_STATS_GROUP(TEXT("Vulkan RHI Verbose"), STATGROUP_VulkanRHIVERBOSE, STATCAT_Advanced);.

Public enum

VulkanRHI::EImageLayoutBarrier

DECLARE_STATS_GROUP(TEXT("Vulkan RHI Verbose"), STATGROUP_VulkanRHIVERBOSE, STATCAT_Advanced);.

Functions

Name Description

Public function Static

VkDescriptor...

 

BindingToDescriptorType

(
    EVulkanBindingType::EType Type
)

============================================================================= VulkanResources.h: Vulkan resource RHI definitions.

Public function

bool

 

CopyAndReturnNotEqual

(
    T& A,
    T B
)

Public function

bool

 

DelayAcquireBackBuffer()

Public function Static

EVulkanBindi ...

 

DescriptorTypeToBinding

(
    VkDescriptorType Type,
    bool bUsePacked
)

Public function Static

char

 

EVulkanBindingType::GetBindingTypeChar

(
    EType Type
)

Public function

FVulkanTextu ...

 

GetVulkanTextureFromRHITexture

(
    FRHITexture * Texture
)

Given a pointer to a RHI texture that was created by the Vulkan RHI, returns a pointer to the FVulkanTextureBase it encapsulates.

Public function Static

TVulkanResou ...

 

ResourceCast

(
    TRHIType* Resource
)

Public function Static

TVulkanResou ...

 

ResourceCast

(
    const TRHIType* Resource
)

Public function

EShaderFrequ ...

 

ShaderStage::GetFrequencyForGfxStage

(
    EStage Stage
)

Public function

EStage

 

ShaderStage::GetStageForFrequency

(
    EShaderFrequency Stage
)

Public function

VkPipelineSt...

 

VulkanRHI::GetImageBarrierFlags

(
    EImageLayoutBarrier Target,
    VkAccessFlags& AccessFlags,
    VkImageLayout& Layout
)

Public function

VkImageLayou...

 

VulkanRHI::GetImageLayout

(
    EImageLayoutBarrier Target
)

Public function

EImageLayout ...

 

VulkanRHI::GetImageLayoutFromVulkanLayout

(
    VkImageLayout Layout
)

Public function Static

const VkAllo...

 

VulkanRHI::GetMemoryAllocator

(
    const VkAllocationCallbacks* A...
)

Public function

void

 

VulkanRHI::SetImageBarrierInfo

(
    EImageLayoutBarrier Source,
    EImageLayoutBarrier Dest,
    VkImageMemoryBarrier& InOutBarrier,
    VkPipelineStageFlags& InOutSourceS...,
    VkPipelineStageFlags& InOutDestSta...
)

Public function

VkImageMemor...

 

VulkanRHI::SetupImageMemoryBarrier

(
    VkImage Image,
    VkImageAspectFlags Aspect,
    uint32 NumMips
)

Public function

VkImageSubre...

 

VulkanRHI::SetupImageSubresourceRange

(
    VkImageAspectFlags Aspect,
    uint32 StartMip
)

Public function Static

void

 

ZeroVulkanStruct

(
    T& Struct,
    VkStructureType Type
)

============================================================================= VulkanGlobals.h: Global Vulkan RHI definitions.