Blender  V3.3
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
device_memory Class Reference

#include <memory.h>

Inheritance diagram for device_memory:
device_vector< float4 > device_vector< KernelWorkTile > device_vector< uchar4 > device_vector< AttributeMap > device_vector< float2 > device_vector< KernelObject > device_vector< float > device_vector< KernelLight > device_vector< DecomposedTransform > device_vector< int > device_vector< KernelCurveSegment > device_vector< TextureInfo > device_vector< Transform > device_vector< KernelCurve > device_vector< IntegratorQueueCounter > device_vector< KernelParticle > device_vector< KernelShader > device_vector< int4 > device_vector< packed_float3 > device_vector< uint > device_vector< uint4 > device_vector< half4 > device_vector< KernelLightDistribution > device_only_memory< T > device_texture device_vector< T >

Public Member Functions

size_t memory_size ()
 
size_t memory_elements_size (int elements)
 
virtual ~device_memory ()
 
void swap_device (Device *new_device, size_t new_device_size, device_ptr new_device_ptr)
 
void restore_device ()
 
bool is_resident (Device *sub_device) const
 

Public Attributes

DataType data_type
 
int data_elements
 
size_t data_size
 
size_t device_size
 
size_t data_width
 
size_t data_height
 
size_t data_depth
 
MemoryType type
 
const char * name
 
Devicedevice
 
device_ptr device_pointer
 
voidhost_pointer
 
voidshared_pointer
 
int shared_counter
 

Protected Member Functions

 device_memory (Device *device, const char *name, MemoryType type)
 
 device_memory (const device_memory &)=delete
 
 device_memory (device_memory &&other) noexcept=delete
 
device_memoryoperator= (const device_memory &)=delete
 
device_memoryoperator= (device_memory &&)=delete
 
voidhost_alloc (size_t size)
 
void host_free ()
 
void device_alloc ()
 
void device_free ()
 
void device_copy_to ()
 
void device_copy_from (size_t y, size_t w, size_t h, size_t elem)
 
void device_zero ()
 
bool device_is_cpu ()
 

Protected Attributes

device_ptr original_device_ptr
 
size_t original_device_size
 
Deviceoriginal_device
 
bool need_realloc_
 
bool modified
 

Friends

class CUDADevice
 
class OptiXDevice
 
class HIPDevice
 
class MetalDevice
 

Detailed Description

Definition at line 212 of file cycles/device/memory.h.

Constructor & Destructor Documentation

◆ ~device_memory()

device_memory::~device_memory ( )
virtual

Definition at line 34 of file memory.cpp.

References shared_counter, and shared_pointer.

◆ device_memory() [1/3]

CCL_NAMESPACE_BEGIN device_memory::device_memory ( Device device,
const char *  name,
MemoryType  type 
)
protected

Definition at line 11 of file memory.cpp.

◆ device_memory() [2/3]

device_memory::device_memory ( const device_memory )
protecteddelete

◆ device_memory() [3/3]

device_memory::device_memory ( device_memory &&  other)
protecteddeletenoexcept

Member Function Documentation

◆ device_alloc()

void device_memory::device_alloc ( )
protected

◆ device_copy_from()

void device_memory::device_copy_from ( size_t  y,
size_t  w,
size_t  h,
size_t  elem 
)
protected

◆ device_copy_to()

void device_memory::device_copy_to ( )
protected

◆ device_free()

void device_memory::device_free ( )
protected

◆ device_is_cpu()

bool device_memory::device_is_cpu ( )
protected

Definition at line 100 of file memory.cpp.

References device, DEVICE_CPU, Device::info, and DeviceInfo::type.

◆ device_zero()

void device_memory::device_zero ( )
protected

◆ host_alloc()

void * device_memory::host_alloc ( size_t  size)
protected

◆ host_free()

void device_memory::host_free ( )
protected

◆ is_resident()

bool device_memory::is_resident ( Device sub_device) const

Definition at line 125 of file memory.cpp.

References device, device_pointer, and Device::is_resident().

◆ memory_elements_size()

size_t device_memory::memory_elements_size ( int  elements)
inline

Definition at line 218 of file cycles/device/memory.h.

References data_elements, data_type, and datatype_size().

Referenced by CPUDevice::mem_alloc_sub_ptr().

◆ memory_size()

size_t device_memory::memory_size ( )
inline

◆ operator=() [1/2]

device_memory& device_memory::operator= ( const device_memory )
protecteddelete

◆ operator=() [2/2]

device_memory& device_memory::operator= ( device_memory &&  )
protecteddelete

◆ restore_device()

void device_memory::restore_device ( )

◆ swap_device()

void device_memory::swap_device ( Device new_device,
size_t  new_device_size,
device_ptr  new_device_ptr 
)

Friends And Related Function Documentation

◆ CUDADevice

friend class CUDADevice
friend

Definition at line 250 of file cycles/device/memory.h.

◆ HIPDevice

friend class HIPDevice
friend

Definition at line 252 of file cycles/device/memory.h.

◆ MetalDevice

friend class MetalDevice
friend

Definition at line 253 of file cycles/device/memory.h.

◆ OptiXDevice

friend class OptiXDevice
friend

Definition at line 251 of file cycles/device/memory.h.

Member Data Documentation

◆ data_depth

size_t device_memory::data_depth

◆ data_elements

int device_memory::data_elements

◆ data_height

size_t device_memory::data_height

◆ data_size

size_t device_memory::data_size

◆ data_type

DataType device_memory::data_type

◆ data_width

size_t device_memory::data_width

◆ device

Device* device_memory::device

◆ device_pointer

device_ptr device_memory::device_pointer

◆ device_size

size_t device_memory::device_size

◆ host_pointer

void* device_memory::host_pointer

◆ modified

bool device_memory::modified
protected

◆ name

const char* device_memory::name

◆ need_realloc_

bool device_memory::need_realloc_
protected

◆ original_device

Device* device_memory::original_device
protected

Definition at line 285 of file cycles/device/memory.h.

Referenced by restore_device(), and swap_device().

◆ original_device_ptr

device_ptr device_memory::original_device_ptr
protected

Definition at line 283 of file cycles/device/memory.h.

Referenced by restore_device(), and swap_device().

◆ original_device_size

size_t device_memory::original_device_size
protected

Definition at line 284 of file cycles/device/memory.h.

Referenced by restore_device(), and swap_device().

◆ shared_counter

int device_memory::shared_counter

Definition at line 240 of file cycles/device/memory.h.

Referenced by ~device_memory().

◆ shared_pointer

void* device_memory::shared_pointer

Definition at line 238 of file cycles/device/memory.h.

Referenced by ~device_memory().

◆ type

MemoryType device_memory::type

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