Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches

Simple wrapper class to manage a Vulkan memory block. More...

#include <BufferVK.h>

Inheritance diagram for MemoryVK:
RefTarget< MemoryVK > NonCopyable

Public Member Functions

 ~MemoryVK ()
Public Member Functions inherited from RefTarget< MemoryVK >
 RefTarget ()=default
 Constructor.
 ~RefTarget ()
 assert no one is referencing us
void SetEmbedded () const
RefTargetoperator= (const RefTarget &)
 Assignment operator.
uint32 GetRefCount () const
 Get current refcount of this object.
void AddRef () const
 Add or release a reference to this object.
void Release () const
Public Member Functions inherited from NonCopyable
 NonCopyable ()=default
 NonCopyable (const NonCopyable &)=delete
void operator= (const NonCopyable &)=delete

Public Attributes

VkDeviceMemory mMemory = VK_NULL_HANDLE
 The Vulkan memory handle.
VkDeviceSize mSize = 0
 Size of the memory block.
VkDeviceSize mBufferSize = 0
 Size of each of the buffers that this memory block has been divided into.
VkMemoryPropertyFlags mProperties = 0
 Vulkan memory properties used to allocate this block.
int mMappedCount = 0
 How often buffers using this memory block were mapped.
void * mMappedPtr = nullptr
 The CPU address of the memory block when mapped.

Additional Inherited Members

Static Public Member Functions inherited from RefTarget< MemoryVK >
static int sInternalGetRefCountOffset ()
 INTERNAL HELPER FUNCTION USED BY SERIALIZATION.
Protected Attributes inherited from RefTarget< MemoryVK >
atomic< uint32mRefCount
 Current reference count.
Static Protected Attributes inherited from RefTarget< MemoryVK >
static constexpr uint32 cEmbedded
 A large value that gets added to the refcount to mark the object as embedded.

Detailed Description

Simple wrapper class to manage a Vulkan memory block.

Constructor & Destructor Documentation

◆ ~MemoryVK()

MemoryVK::~MemoryVK ( )
inline

Member Data Documentation

◆ mBufferSize

VkDeviceSize MemoryVK::mBufferSize = 0

Size of each of the buffers that this memory block has been divided into.

◆ mMappedCount

int MemoryVK::mMappedCount = 0

How often buffers using this memory block were mapped.

◆ mMappedPtr

void* MemoryVK::mMappedPtr = nullptr

The CPU address of the memory block when mapped.

◆ mMemory

VkDeviceMemory MemoryVK::mMemory = VK_NULL_HANDLE

The Vulkan memory handle.

◆ mProperties

VkMemoryPropertyFlags MemoryVK::mProperties = 0

Vulkan memory properties used to allocate this block.

◆ mSize

VkDeviceSize MemoryVK::mSize = 0

Size of the memory block.


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