UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::DeviceMemoryBase Class Referenceabstract
Inheritance diagram for UN::DeviceMemoryBase:
UN::DeviceObjectBase< IDeviceMemory > UN::Object< IDeviceMemory > UN::IDeviceMemory UN::IDeviceObject UN::IObject UN::VulkanDeviceMemory

Public Member Functions

ResultCode Init (const DescriptorType &desc) final
 Allocate memory with specified descriptor. More...
 
- Public Member Functions inherited from UN::DeviceObjectBase< IDeviceMemory >
const DescriptorTypeGetDesc () const override
 
std::string_view GetDebugName () const override
 
IComputeDeviceGetDevice () const override
 
UInt32 Release () override
 
- Public Member Functions inherited from UN::Object< IDeviceMemory >
UInt32 Release () override
 
 Object (const Object &)=delete
 
 Object (Object &&)=delete
 
UInt32 AddRef () override
 Add a strong reference to the object. More...
 
void AttachRefCounter (ReferenceCounter *pRefCounter) override
 Attach a reference counter to the object. More...
 
ReferenceCounterGetRefCounter () override
 Get reference counter attached to this object. More...
 
- Public Member Functions inherited from UN::IDeviceMemory
virtual const DescriptorTypeGetDesc () const =0
 
virtual ResultCode Init (const DescriptorType &desc)=0
 Allocate memory with specified descriptor. More...
 
virtual ResultCode Map (UInt64 byteOffset, UInt64 byteSize, void **ppData)=0
 Map the device memory to access it from the host. More...
 
virtual void Unmap ()=0
 Unmap the mapped memory. More...
 
virtual bool IsCompatible (IDeviceObject *pObject, UInt64 sizeLimit)=0
 Check if the memory is compatible with an object. More...
 
virtual bool IsCompatible (IDeviceObject *pObject)=0
 Check if the memory is compatible with an object. More...
 
- Public Member Functions inherited from UN::IDeviceObject
virtual std::string_view GetDebugName () const =0
 Get debug name of the object.
 
virtual void Reset ()=0
 Reset the object to uninitialized state. More...
 
virtual IComputeDeviceGetDevice () const =0
 Get the compute device this object was created on. More...
 
virtual UInt32 AddRef ()=0
 Add a strong reference to object's reference counter. More...
 
virtual UInt32 Release ()=0
 Remove a strong reference from object's reference counter. More...
 
virtual void AttachRefCounter (ReferenceCounter *counter)=0
 Attach a ReferenceCounter to this object. More...
 
virtual ReferenceCounterGetRefCounter ()=0
 Get reference counter that belongs to this object. More...
 

Protected Member Functions

virtual ResultCode InitInternal (const DescriptorType &desc)=0
 
 DeviceMemoryBase (IComputeDevice *pDevice)
 
- Protected Member Functions inherited from UN::DeviceObjectBase< IDeviceMemory >
void Init (std::string_view name, const DescriptorType &desc)
 Common device object initializer. More...
 
 DeviceObjectBase (IComputeDevice *pDevice)
 
- Protected Member Functions inherited from UN::Object< IDeviceMemory >
UInt32 Release (F &&destroyCallback)
 

Additional Inherited Members

- Public Types inherited from UN::DeviceObjectBase< IDeviceMemory >
using DescriptorType = typename TInterface::DescriptorType
 
- Public Types inherited from UN::IDeviceMemory
using DescriptorType = DeviceMemoryDesc
 
- Static Public Attributes inherited from UN::IDeviceMemory
static constexpr UInt64 WholeSize = std::numeric_limits<UInt64>::max()
 Special constant that represents the whole memory size.
 
- Protected Attributes inherited from UN::DeviceObjectBase< IDeviceMemory >
Ptr< IComputeDevicem_pDevice
 
DescriptorType m_Desc
 
std::string m_Name
 

Member Function Documentation

◆ Init()

ResultCode UN::DeviceMemoryBase::Init ( const DescriptorType desc)
finalvirtual

Allocate memory with specified descriptor.

Parameters
desc- Device memory descriptor.
Returns
ResultCode::Success or an error code.

Implements UN::IDeviceMemory.


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