Blender V5.0
device_vector< T > Class Template Reference

#include <memory.h>

Inherits device_memory.

Public Member Functions

 device_vector (Device *device, const char *name, MemoryType type)
 ~device_vector () override
Talloc (const size_t width, const size_t height=0)
Tresize (const size_t width, const size_t height=0)
void steal_data (array< T > &from)
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 (const size_t y, const size_t w, size_t h)
void zero_to_device ()
Public Member Functions inherited from device_memory
size_t memory_size ()
size_t memory_elements_size (const int elements)
virtual ~device_memory ()
void swap_device (Device *new_device, const size_t new_device_size, device_ptr new_device_ptr)
void restore_device ()
bool is_resident (Device *sub_device) const
bool is_shared (Device *sub_device) const
 device_memory (const device_memory &)=delete
 device_memory (device_memory &&other) noexcept=delete
device_memoryoperator= (const device_memory &)=delete
device_memoryoperator= (device_memory &&)=delete

Protected Member Functions

size_t size (const size_t width, const size_t height)
Protected Member Functions inherited from device_memory
 device_memory (Device *device, const char *name, MemoryType type)
void * host_alloc (const size_t size)
void device_alloc ()
void device_copy_to ()
void device_move_to_host ()
void device_copy_from (const size_t y, const size_t w, size_t h, const size_t elem)
void device_zero ()
void host_and_device_free ()
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
MemoryType type
const char * name
string name_storage
Devicedevice
device_ptr device_pointer
void * host_pointer
void * shared_pointer
int shared_counter
bool move_to_host = false
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 369 of file cycles/device/memory.h.

Constructor & Destructor Documentation

◆ device_vector()

◆ ~device_vector()

template<typename T>
device_vector< T >::~device_vector ( )
inlineoverride

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

References free().

Member Function Documentation

◆ alloc()

◆ clear_modified()

◆ 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 ( const size_t y,
const size_t w,
size_t h )
inline

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

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

◆ copy_to_device()

◆ copy_to_device_if_modified()

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

◆ data() [1/2]

◆ data() [2/2]

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

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

References device_memory::host_pointer, and T.

◆ free()

◆ free_if_need_realloc()

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

◆ is_modified()

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

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

References device_memory::modified.

◆ need_realloc()

◆ operator[]()

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

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

References assert, data(), device_memory::data_size, i, and T.

◆ resize()

◆ size() [1/2]

◆ size() [2/2]

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

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

◆ steal_data()

◆ 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

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

References device_memory::device_zero().


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