FResourceHeapManager

Manages heaps and their interactions.

Windows
MacOS
Linux

Inheritance Hierarchy

FDeviceChild

FResourceHeapManager

References

Module

VulkanRHI

Header

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

Include

#include "VulkanMemory.h"

Syntax

class FResourceHeapManager : public VulkanRHI::FDeviceChild

Remarks

Manages heaps and their interactions.

Variables

Constructors

Name Description

Public function

FResourceHeapManager

(
    FVulkanDevice* InDevice
)

Destructors

Name Description

Public function

~FResourceHeapManager()

Functions

Name Description

Public function

FBufferSubal...

 

AllocateBuffer

(
    uint32 Size,
    VkBufferUsageFlags BufferUsageFlags,
    VkMemoryPropertyFlags MemoryPropert...,
    const char* File,
    uint32 Line
)

Returns a sub-allocation, as there can be space inside a previously allocated VkBuffer to be reused; to release a sub allocation, just delete the pointer.

Public function

FOldResource...

 

AllocateBufferMemory

(
    const VkMemoryRequirements& Memory...,
    VkMemoryPropertyFlags MemoryPropert...,
    const char* File,
    uint32 Line
)

Public function

FOldResource...

 

AllocateImageMemory

(
    const VkMemoryRequirements& Memory...,
    VkMemoryPropertyFlags MemoryPropert...,
    const char* File,
    uint32 Line
)

Public function

FBufferSubal...

 

AllocUniformBuffer

(
    uint32 Size,
    const void* Contents
)

Public function

void

 

Deinit()

Protected function

void

 

DestroyResourceAllocations()

Protected function

EPoolSizes

 

GetPoolTypeForAlloc

(
    uint32 Size,
    uint32 Alignment
)

Public function

void

 

Init()

Protected function

void

 

ProcessPendingUBFrees

(
    bool bForce
)

Protected function

void

 

ProcessPendingUBFreesNoLock

(
    bool bForce
)

Public function

void

 

ReleaseBuffer

(
    FBufferAllocation* BufferAlloc...
)

Release a whole allocation; this is only called from within a FBufferAllocation.

Public function

void

 

ReleaseFreedPages()

Protected function

void

 

ReleaseFreedResources

(
    bool bImmediately
)

Public function

void

 

ReleaseUniformBuffer

(
    FBufferSuballocation* UBAlloc
)

Classes

Name

Description

Protected struct

FUBPendingFree

Enums

Name

Description

Protected enum

EPoolSizes

Pool sizes that we support

Constants

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