UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMetalRHIBuffer Class Referencefinal

#include <MetalResources.h>

+ Inheritance diagram for FMetalRHIBuffer:

Public Member Functions

 FMetalRHIBuffer (FRHICommandListBase &RHICmdList, FMetalDevice &MetalDevice, const FRHIBufferCreateDesc &CreateDesc, FResourceArrayUploadInterface *InResourceArray)
 
virtual ~FMetalRHIBuffer ()
 
bool RequiresTransferBuffer ()
 
void AllocateBuffer ()
 
void ReleaseBuffer ()
 
void SwitchBuffer (FRHICommandListBase &RHICmdList)
 
voidLock (FRHICommandListBase &RHICmdList, EResourceLockMode LockMode, uint32 Offset, uint32 Size)
 
void Unlock (FRHICommandListBase &RHICmdList)
 
void UploadTransferBuffer (FRHICommandListBase &RHICmdList, FMetalBufferPtr &&InTransferBuffer, uint32 UploadSize)
 
const FMetalBufferPtrGetCurrentBuffer ()
 
const FMetalBufferPtrGetCurrentBufferOrNull () const
 
MTL::IndexType GetIndexType () const
 
bool UsePrivateMemory () const
 
void TakeOwnership (FMetalRHIBuffer &Other)
 
void ReleaseOwnership ()
 
- Public Member Functions inherited from FRHIBuffer
const FRHIBufferDescGetDesc () const
 
uint32 GetSize () const
 
uint32 GetStride () const
 
EBufferUsageFlags GetUsage () const
 
void SetName (FName InName)
 
- Public Member Functions inherited from FRHIViewableResource
ERHIAccess GetTrackedAccess_Unsafe () const
 
FName GetName () const
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 
- Public Member Functions inherited from FMetalViewableResource
 ~FMetalViewableResource ()
 
bool HasLinkedViews () const
 
void UpdateLinkedViews (FMetalRHICommandContext *Context)
 

Public Attributes

FMetalDeviceDevice
 
FMetalBufferPtr TransferBuffer
 
FMetalBufferPtr CurrentBuffer
 
uint32 Size
 
uint32 LockOffset = 0
 
uint32 LockSize = 0
 
MTL::StorageMode Mode
 
EResourceLockMode CurrentLockMode = RLM_Num
 
bool bIsFirstLock = true
 

Additional Inherited Members

- Protected Member Functions inherited from FRHIBuffer
 FRHIBuffer ()=delete
 
RHI_API FRHIBuffer (const FRHIBufferCreateDesc &CreateDesc)
 
void TakeOwnership (FRHIBuffer &Other)
 
void ReleaseOwnership ()
 
- Protected Member Functions inherited from FRHIViewableResource
 FRHIViewableResource (ERHIResourceType InResourceType, ERHIAccess InAccess, const TCHAR *InName, FName InOwnerName)
 
virtual void SetTrackedAccessFromContext (FRHITrackedAccess InTrackedAccess)
 
void TakeOwnership (FRHIViewableResource &Other)
 
void ReleaseOwnership ()
 
- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 
- Protected Attributes inherited from FRHIViewableResource
FName Name
 

Constructor & Destructor Documentation

◆ FMetalRHIBuffer()

FMetalRHIBuffer::FMetalRHIBuffer ( FRHICommandListBase RHICmdList,
FMetalDevice MetalDevice,
const FRHIBufferCreateDesc CreateDesc,
FResourceArrayUploadInterface InResourceArray 
)

◆ ~FMetalRHIBuffer()

FMetalRHIBuffer::~FMetalRHIBuffer ( )
virtual

Member Function Documentation

◆ AllocateBuffer()

void FMetalRHIBuffer::AllocateBuffer ( )

◆ GetCurrentBuffer()

const FMetalBufferPtr & FMetalRHIBuffer::GetCurrentBuffer ( )
inline

◆ GetCurrentBufferOrNull()

const FMetalBufferPtr & FMetalRHIBuffer::GetCurrentBufferOrNull ( ) const
inline

◆ GetIndexType()

MTL::IndexType FMetalRHIBuffer::GetIndexType ( ) const
inline

◆ Lock()

void * FMetalRHIBuffer::Lock ( FRHICommandListBase RHICmdList,
EResourceLockMode  LockMode,
uint32  Offset,
uint32  Size 
)

Prepare a CPU accessible buffer for uploading to GPU memory

◆ ReleaseBuffer()

void FMetalRHIBuffer::ReleaseBuffer ( )

◆ ReleaseOwnership()

void FMetalRHIBuffer::ReleaseOwnership ( )

◆ RequiresTransferBuffer()

bool FMetalRHIBuffer::RequiresTransferBuffer ( )

◆ SwitchBuffer()

void FMetalRHIBuffer::SwitchBuffer ( FRHICommandListBase RHICmdList)

◆ TakeOwnership()

void FMetalRHIBuffer::TakeOwnership ( FMetalRHIBuffer Other)

◆ Unlock()

void FMetalRHIBuffer::Unlock ( FRHICommandListBase RHICmdList)

Prepare a CPU accessible buffer for uploading to GPU memory

◆ UploadTransferBuffer()

void FMetalRHIBuffer::UploadTransferBuffer ( FRHICommandListBase RHICmdList,
FMetalBufferPtr &&  InTransferBuffer,
uint32  UploadSize 
)

◆ UsePrivateMemory()

bool FMetalRHIBuffer::UsePrivateMemory ( ) const

Whether to allocate the resource from private memory.

Member Data Documentation

◆ bIsFirstLock

bool FMetalRHIBuffer::bIsFirstLock = true

◆ CurrentBuffer

FMetalBufferPtr FMetalRHIBuffer::CurrentBuffer

◆ CurrentLockMode

EResourceLockMode FMetalRHIBuffer::CurrentLockMode = RLM_Num

◆ Device

FMetalDevice& FMetalRHIBuffer::Device

◆ LockOffset

uint32 FMetalRHIBuffer::LockOffset = 0

◆ LockSize

uint32 FMetalRHIBuffer::LockSize = 0

◆ Mode

MTL::StorageMode FMetalRHIBuffer::Mode

◆ Size

uint32 FMetalRHIBuffer::Size

◆ TransferBuffer

FMetalBufferPtr FMetalRHIBuffer::TransferBuffer

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