Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IDeviceMemory Struct Referenceabstract

Device memory interface. More...

#include <DeviceMemory.h>

Inheritance diagram for Diligent::IDeviceMemory:
Diligent::IDeviceObject Diligent.IObject Diligent::IDeviceMemoryD3D11 Diligent::IDeviceMemoryD3D12 Diligent::IDeviceMemoryMtl Diligent::IDeviceMemoryVk

Public Member Functions

virtual const DeviceMemoryDesc &DILIGENT_CALL_TYPE GetDesc () const override=0
 Returns the device memory description.
 
virtual Bool DILIGENT_CALL_TYPE Resize (Uint64 NewSize)=0
 Resizes the internal memory object.
 
virtual Uint64 DILIGENT_CALL_TYPE GetCapacity () const =0
 Returns the current size of the memory object.
 
virtual Bool DILIGENT_CALL_TYPE IsCompatible (IDeviceObject *pResource) const =0
 Checks if the given resource is compatible with this memory object.
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual Int32 DILIGENT_CALL_TYPE GetUniqueID () const =0
 Returns unique identifier assigned to an object.
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData)=0
 Stores a pointer to the user-provided data object.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const =0
 Returns a pointer to the user data object previously set with SetUserData() method.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Device memory interface.

Defines the methods to manipulate a device memory object.

Member Function Documentation

◆ GetCapacity()

virtual Uint64 DILIGENT_CALL_TYPE Diligent::IDeviceMemory::GetCapacity ( ) const
pure virtual

Returns the current size of the memory object.

Remarks
This method must be externally synchronized with IDeviceMemory::Resize() and IDeviceContext::BindSparseResourceMemory().

◆ Resize()

virtual Bool DILIGENT_CALL_TYPE Diligent::IDeviceMemory::Resize ( Uint64 NewSize)
pure virtual

Resizes the internal memory object.

Parameters
[in]NewSize- The new size of the memory object; must be a multiple of DeviceMemoryDesc::PageSize.

Depending on the implementation, the function may resize the existing memory object or create/destroy pages with separate memory objects.

Remarks
This method must be externally synchronized with IDeviceMemory::GetCapacity() and IDeviceContext::BindSparseResourceMemory().