Blender  V3.3
Public Member Functions | Protected Member Functions | List of all members
device_vector< T > Class Template Reference

#include <memory.h>

Inheritance diagram for device_vector< T >:
device_memory

Public Member Functions

 device_vector (Device *device, const char *name, MemoryType type)
 
virtual ~device_vector ()
 
Talloc (size_t width, size_t height=0, size_t depth=0)
 
Tresize (size_t width, size_t height=0, size_t depth=0)
 
void steal_data (array< T > &from)
 
void give_data (array< T > &to)
 
void free ()
 
void free_if_need_realloc (bool force_free)
 
bool is_modified () const
 
bool need_realloc ()
 
void tag_modified ()
 
void tag_realloc ()
 
size_t size () const
 
Tdata ()
 
const Tdata () const
 
Toperator[] (size_t i)
 
void copy_to_device ()
 
void copy_to_device_if_modified ()
 
void clear_modified ()
 
void copy_from_device ()
 
void copy_from_device (size_t y, size_t w, size_t h)
 
void zero_to_device ()
 
void move_device (Device *new_device)
 
- Public Member Functions inherited from device_memory
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
 

Protected Member Functions

size_t size (size_t width, size_t height, size_t depth)
 
- Protected Member Functions inherited from device_memory
 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 ()
 

Additional Inherited Members

- Public Attributes inherited from device_memory
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 Attributes inherited from device_memory
device_ptr original_device_ptr
 
size_t original_device_size
 
Deviceoriginal_device
 
bool need_realloc_
 
bool modified
 

Detailed Description

template<typename T>
class device_vector< T >

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

Constructor & Destructor Documentation

◆ device_vector()

template<typename T >
device_vector< T >::device_vector ( Device device,
const char *  name,
MemoryType  type 
)
inline

◆ ~device_vector()

template<typename T >
virtual device_vector< T >::~device_vector ( )
inlinevirtual

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

References device_vector< T >::free().

Member Function Documentation

◆ alloc()

template<typename T >
T* device_vector< T >::alloc ( size_t  width,
size_t  height = 0,
size_t  depth = 0 
)
inline

◆ clear_modified()

template<typename T >
void device_vector< T >::clear_modified ( )
inline

◆ copy_from_device() [1/2]

template<typename T >
void device_vector< T >::copy_from_device ( )
inline

◆ copy_from_device() [2/2]

template<typename T >
void device_vector< T >::copy_from_device ( size_t  y,
size_t  w,
size_t  h 
)
inline

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

References device_memory::device_copy_from(), T, w(), and y.

◆ copy_to_device()

template<typename T >
void device_vector< T >::copy_to_device ( )
inline

◆ copy_to_device_if_modified()

template<typename T >
void device_vector< T >::copy_to_device_if_modified ( )
inline

◆ data() [1/2]

template<typename T >
T* device_vector< T >::data ( )
inline

◆ data() [2/2]

template<typename T >
const T* device_vector< T >::data ( ) const
inline

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

References device_memory::host_pointer, and T.

◆ free()

template<typename T >
void device_vector< T >::free ( )
inline

◆ free_if_need_realloc()

template<typename T >
void device_vector< T >::free_if_need_realloc ( bool  force_free)
inline

◆ give_data()

template<typename T >
void device_vector< T >::give_data ( array< T > &  to)
inline

◆ is_modified()

template<typename T >
bool device_vector< T >::is_modified ( ) const
inline

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

References device_memory::modified.

◆ move_device()

template<typename T >
void device_vector< T >::move_device ( Device new_device)
inline

◆ need_realloc()

template<typename T >
bool device_vector< T >::need_realloc ( )
inline

◆ operator[]()

template<typename T >
T& device_vector< T >::operator[] ( size_t  i)
inline

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

References device_vector< T >::data(), and device_memory::data_size.

◆ resize()

template<typename T >
T* device_vector< T >::resize ( size_t  width,
size_t  height = 0,
size_t  depth = 0 
)
inline

◆ size() [1/2]

template<typename T >
size_t device_vector< T >::size ( ) const
inline

◆ size() [2/2]

template<typename T >
size_t device_vector< T >::size ( size_t  width,
size_t  height,
size_t  depth 
)
inlineprotected

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

References height, and width.

◆ steal_data()

template<typename T >
void device_vector< T >::steal_data ( array< T > &  from)
inline

◆ tag_modified()

template<typename T >
void device_vector< T >::tag_modified ( )
inline

◆ tag_realloc()

template<typename T >
void device_vector< T >::tag_realloc ( )
inline

◆ zero_to_device()

template<typename T >
void device_vector< T >::zero_to_device ( )
inline

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