|
Blender
V2.93
|
#include <device_memory.h>
Inherits device_memory.
Inherited by device_pixels< half4 >, and device_pixels< T >.
Public Member Functions | |
| device_vector (Device *device, const char *name, MemoryType type) | |
| virtual | ~device_vector () |
| T * | alloc (size_t width, size_t height=0, size_t depth=0) |
| T * | resize (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 |
| T * | data () |
| T & | operator[] (size_t i) |
| void | copy_to_device () |
| void | copy_to_device_if_modified () |
| void | clear_modified () |
| void | copy_from_device () |
| void | copy_from_device (int y, int w, int 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 (device_memory &&other) noexcept | |
| device_memory (const device_memory &)=delete | |
| device_memory & | operator= (const device_memory &)=delete |
| void * | host_alloc (size_t size) |
| void | host_free () |
| void | device_alloc () |
| void | device_free () |
| void | device_copy_to () |
| void | device_copy_from (int y, int w, int h, int elem) |
| void | device_zero () |
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 |
| Device * | device |
| device_ptr | device_pointer |
| void * | host_pointer |
| void * | shared_pointer |
| int | shared_counter |
Protected Attributes inherited from device_memory | |
| device_ptr | original_device_ptr |
| size_t | original_device_size |
| Device * | original_device |
| bool | need_realloc_ |
| bool | modified |
Definition at line 332 of file device_memory.h.
|
inline |
Definition at line 334 of file device_memory.h.
References device_memory::data_elements, device_memory::data_type, device_memory::modified, and device_memory::need_realloc_.
|
inlinevirtual |
Definition at line 345 of file device_memory.h.
References device_vector< T >::free().
|
inline |
Definition at line 351 of file device_memory.h.
References device_vector< T >::data(), device_memory::data_depth, device_memory::data_height, device_memory::data_size, device_memory::data_width, device_memory::device_free(), device_memory::device_pointer, height, device_memory::host_alloc(), device_memory::host_free(), device_memory::host_pointer, device_memory::modified, device_vector< T >::size(), T, and width.
Referenced by device_pixels< T >::alloc_to_device(), DenoisingTask::DenoisingTask(), GeometryManager::device_update_attributes(), LightManager::device_update_background(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), LightManager::device_update_ies(), GeometryManager::device_update_mesh(), ParticleSystemManager::device_update_particles(), LightManager::device_update_points(), ObjectManager::device_update_transforms(), GeometryManager::displace(), DenoiseTask::load(), DenoiseTask::map_neighboring_tiles(), DeviceSplitKernel::path_trace(), RenderBuffers::reset(), shade_background_pixels(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 502 of file device_memory.h.
References device_memory::modified, and device_memory::need_realloc_.
|
inline |
Definition at line 508 of file device_memory.h.
References device_memory::data_height, device_memory::data_width, device_memory::device_copy_from(), and T.
Referenced by RenderBuffers::copy_from_device(), CPUDevice::denoise_openimagedenoise(), GeometryManager::displace(), MultiDevice::map_neighbor_tiles(), device_vector< T >::move_device(), DeviceSplitKernel::path_trace(), shade_background_pixels(), MultiDevice::unmap_neighbor_tiles(), and DenoiseTask::unmap_neighboring_tiles().
|
inline |
Definition at line 513 of file device_memory.h.
References device_memory::device_copy_from(), T, w(), and y.
|
inline |
Definition at line 486 of file device_memory.h.
References device_memory::data_size, and device_memory::device_copy_to().
Referenced by Session::acquire_tile(), device_vector< T >::copy_to_device_if_modified(), CPUDevice::denoise_openimagedenoise(), GeometryManager::device_update_attributes(), LightManager::device_update_background(), GeometryManager::device_update_bvh(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), LightManager::device_update_ies(), GeometryManager::device_update_mesh(), ObjectManager::device_update_mesh_offsets(), ParticleSystemManager::device_update_particles(), LightManager::device_update_points(), GeometryManager::displace(), DenoiseTask::load_input_pixels(), CPUDevice::load_texture_info(), MultiDevice::map_neighbor_tiles(), DenoiseTask::map_neighboring_tiles(), device_vector< T >::move_device(), DenoisingTask::set_render_buffer(), shade_background_pixels(), MultiDevice::unmap_neighbor_tiles(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 493 of file device_memory.h.
References device_vector< T >::copy_to_device(), and device_memory::modified.
Referenced by GeometryManager::device_update_mesh().
|
inline |
Definition at line 475 of file device_memory.h.
References device_memory::host_pointer, and T.
Referenced by LookupTables::add_table(), device_vector< T >::alloc(), ObjectManager::apply_static_transforms(), device_pixels< T >::copy_from_device(), ObjectManager::device_update_mesh_offsets(), GeometryManager::displace(), RenderBuffers::get_denoising_pass_rect(), RenderBuffers::get_pass_rect(), DenoiseTask::load_input_pixels(), DenoiseTask::map_neighboring_tiles(), device_vector< T >::operator[](), DeviceSplitKernel::path_trace(), device_vector< T >::resize(), RenderBuffers::set_pass_rect(), shade_background_pixels(), CPUDevice::tex_alloc(), and DenoiseTask::unmap_neighboring_tiles().
|
inline |
Definition at line 427 of file device_memory.h.
References device_memory::data_depth, device_memory::data_height, device_memory::data_size, device_memory::data_width, device_memory::device_free(), device_memory::device_pointer, device_memory::host_free(), device_memory::host_pointer, device_memory::modified, and device_memory::need_realloc_.
Referenced by ParticleSystemManager::device_free(), LookupTables::device_free(), LightManager::device_free(), Camera::device_free(), SVMShaderManager::device_free(), ShaderManager::device_free_common(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), GeometryManager::displace(), DenoiseTask::free(), device_vector< T >::free_if_need_realloc(), shade_background_pixels(), DenoiseTask::unmap_neighboring_tiles(), CPUDevice::~CPUDevice(), DenoisingTask::~DenoisingTask(), device_vector< T >::~device_vector(), DeviceSplitKernel::~DeviceSplitKernel(), DisplayBuffer::~DisplayBuffer(), and RenderBuffers::~RenderBuffers().
|
inline |
Definition at line 442 of file device_memory.h.
References device_vector< T >::free(), and device_memory::need_realloc_.
Referenced by GeometryManager::device_free(), ObjectManager::device_free(), and Integrator::device_free().
|
inline |
Definition at line 413 of file device_memory.h.
References device_memory::data_depth, device_memory::data_height, device_memory::data_size, device_memory::data_width, device_memory::device_free(), device_memory::device_pointer, device_memory::host_pointer, array< T, alignment >::set_data(), and T.
Referenced by GeometryManager::device_update_bvh().
|
inline |
Definition at line 449 of file device_memory.h.
References device_memory::modified.
Referenced by GeometryManager::device_update_bvh().
|
inline |
Definition at line 523 of file device_memory.h.
References device_vector< T >::copy_from_device(), device_vector< T >::copy_to_device(), device_memory::device, and device_memory::device_free().
Referenced by Session::acquire_tile(), and Session::steal_tile().
|
inline |
Definition at line 454 of file device_memory.h.
References device_memory::need_realloc_.
Referenced by GeometryManager::device_update_attributes(), GeometryManager::device_update_bvh(), GeometryManager::device_update_mesh(), ObjectManager::device_update_transforms(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 480 of file device_memory.h.
References device_vector< T >::data(), and device_memory::data_size.
|
inline |
Definition at line 373 of file device_memory.h.
References device_vector< T >::data(), device_memory::data_depth, device_memory::data_height, device_memory::data_size, device_memory::data_width, device_memory::device_free(), device_memory::device_pointer, height, device_memory::host_alloc(), device_memory::host_free(), device_memory::host_pointer, device_vector< T >::size(), T, and width.
Referenced by LookupTables::add_table(), and CPUDevice::tex_alloc().
|
inline |
Definition at line 470 of file device_memory.h.
References device_memory::data_size.
Referenced by device_vector< T >::alloc(), GeometryManager::device_update_mesh(), ObjectManager::device_update_mesh_offsets(), GeometryManager::displace(), device_vector< T >::resize(), CPUDevice::tex_alloc(), and GeometryManager::update_svm_attributes().
|
inlineprotected |
Definition at line 532 of file device_memory.h.
|
inline |
Definition at line 400 of file device_memory.h.
References device_memory::data_depth, device_memory::data_height, device_memory::data_size, device_memory::data_width, device_memory::device_free(), device_memory::device_pointer, from, device_memory::host_free(), and device_memory::host_pointer.
Referenced by GeometryManager::device_update_bvh().
|
inline |
Definition at line 459 of file device_memory.h.
References device_memory::modified.
Referenced by ObjectManager::device_update(), and device_vector< T >::tag_realloc().
|
inline |
Definition at line 464 of file device_memory.h.
References device_memory::need_realloc_, and device_vector< T >::tag_modified().
Referenced by ObjectManager::device_update().
|
inline |
Definition at line 518 of file device_memory.h.
References device_memory::device_zero().
Referenced by GeometryManager::displace(), DenoiseTask::load(), DeviceSplitKernel::path_trace(), RenderBuffers::reset(), shade_background_pixels(), and RenderBuffers::zero().