FVulkanSubresourceAllocator

Windows
MacOS
Linux

References

Module

VulkanRHI

Header

/Engine/Source/Runtime/VulkanRHI/Public/VulkanMemory.h

Include

#include "VulkanMemory.h"

Syntax

class FVulkanSubresourceAllocator

Variables

Name Description

Protected variable

uint32

 

Alignment

Protected variable

uint32

 

AllocatorIndex

Protected variable

uint32

 

AllocCalls

Protected variable

bool

 

bIsDefragging

Protected variable

bool

 

bIsEvicting

Protected variable

bool

 

bLocked

Protected variable

uint8

 

BucketId

Protected variable

VkBuffer

 

Buffer

Protected variable

uint32

 

BufferId

Protected variable

VkBufferUsageFl...

 

BufferUsageFlags

Protected variable

FCriticalSectio...

 

CS

Protected variable

uint32

 

FrameFreed

Protected variable

uint32

 

FreeCalls

Protected variable

TArray< FRange ...

 

FreeList

List of free ranges.

Protected variable

TArray< FVulkan...

 

InternalData

Protected variable

int32

 

InternalFreeList

Protected variable

uint32

 

LastDefragFrame

Protected variable

uint32

 

MaxSize

Protected variable

FDeviceMemoryAl...

 

MemoryAllocation

Protected variable

VkMemoryPropert...

 

MemoryPropertyFlags

Protected variable

uint32

 

MemoryTypeIndex

Protected variable

uint32[EVulkanA...

 

MemoryUsed

Protected variable

uint32

 

NumSubAllocations

Protected variable

FMemoryManager ...

 

Owner

Protected variable

int32

 

PoolSizeIndex

Protected variable

uint8

 

SubresourceAllocatorFlags

Protected variable

FVulkanTrackInf...

 

Track

Protected variable

EVulkanAllocati...

 

Type

Protected variable

int64

 

UsedSize

Constructors

Name Description

Public function

FVulkanSubresourceAllocator

(
    EVulkanAllocationType InType,
    FMemoryManager* InOwner,
    uint8 InSubResourceAllocatorFlags,
    FDeviceMemoryAllocation* InDev...,
    uint32 InMemoryTypeIndex,
    uint32 BufferId
)

Public function

FVulkanSubresourceAllocator

(
    EVulkanAllocationType InType,
    FMemoryManager* InOwner,
    uint8 InSubResourceAllocatorFlags,
    FDeviceMemoryAllocation* InDev...,
    uint32 InMemoryTypeIndex,
    VkMemoryPropertyFlags InMemoryPrope...,
    uint32 InAlignment,
    VkBuffer InBuffer,
    uint32 InBufferId,
    VkBufferUsageFlags InBufferUsageFla...,
    int32 InPoolSizeIndex
)

Destructors

Functions

Name Description

Protected function

int32

 

AllocateInternalData()

Protected function

bool

 

CanDefrag()

Protected function

bool

 

DefragFull

(
    FVulkanDevice& Device,
    FVulkanCommandListContext& Context,
    FVulkanResourceHeap* Heap
)

Protected function

int32

 

DefragTick

(
    FVulkanDevice& Device,
    FVulkanCommandListContext& Context,
    FVulkanResourceHeap* Heap,
    uint32 Count
)

Public function

void

 

Destroy

(
    FVulkanDevice* Device
)

Protected function

void

 

DumpFullHeap()

Protected function

uint64

 

EvictToHost

(
    FVulkanDevice& Device
)

Public function

void

 

Flush

(
    VkDeviceSize Offset,
    VkDeviceSize AllocationSize
)

Public function

void

 

Free

(
    FVulkanAllocation& Allocation
)

Protected function

void

 

FreeInternalData

(
    int32 Index
)

Public function Const

uint32

 

GetAlignment()

Protected function

uint32

 

GetAllocatorIndex()

Public function Const

uint32

 

GetHandleId()

Public function

uint32

 

GetId()

Public function

bool

 

GetIsDefragging()

Public function

void *

 

GetMappedPointer()

Public function Const

uint32

 

GetMaxSize()

Public function

FDeviceMemor...

 

GetMemoryAllocation()

Public function

TArrayView< ...

 

GetMemoryUsed()

Public function

uint32

 

GetNumSubAllocations()

Public function

uint8

 

GetSubresourceAllocatorFlags()

Public function

EVulkanAlloc...

 

GetType()

Public function Const

uint32

 

GetUsedSize()

Public function

void

 

Invalidate

(
    VkDeviceSize Offset,
    VkDeviceSize AllocationSize
)

Protected function

bool

 

JoinFreeBlocks()

Protected function

void

 

SetFreePending

(
    FVulkanAllocation& Allocation
)

Protected function

void

 

SetIsDefragging

(
    bool bInIsDefragging
)

Public function

bool

 

TryAllocate2

(
    FVulkanAllocation& OutAllocation,
    FVulkanEvictable* Owner,
    uint32 InSize,
    uint32 InAlignment,
    EVulkanAllocationMetaType InMetaTyp...,
    const char* File,
    uint32 Line
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss