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

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 (const RefTarget &)
 
 ~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: