VulkanRHI

Windows
MacOS
Linux

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

FVulkanBackBufferReference

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

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

FVulkanEmulatedUniformBuffer

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

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

FVulkanTimingQuery

Public class

FVulkanTimingQueryPool

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

EDelayAcquireImageType

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
)

Public function

bool

 

CopyAndReturnNotEqual

(
    T& A,
    T B
)

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

bool

 

UseVulkanDescriptorCache()

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
)

Variables

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback