|
Blender V4.3
|
#include <memory.h>
Inherits device_memory.
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 () |
| const T * | data () const |
| 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 (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_memory & | operator= (const device_memory &)=delete |
| device_memory & | operator= (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 (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 |
| std::string | name_storage |
| 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 368 of file cycles/device/memory.h.
|
inline |
Definition at line 370 of file cycles/device/memory.h.
References device_memory::data_elements, device_memory::data_type, device_memory::modified, and device_memory::need_realloc_.
|
inlinevirtual |
Definition at line 381 of file cycles/device/memory.h.
References device_vector< T >::free().
|
inline |
Definition at line 387 of file cycles/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, device_memory::host_alloc(), device_memory::host_free(), device_memory::host_pointer, device_memory::modified, and device_vector< T >::size().
Referenced by PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), PathTraceWorkGPU::alloc_integrator_path_split(), PathTraceWorkGPU::alloc_integrator_queue(), PathTraceWorkGPU::alloc_integrator_sorting(), LightTree::build(), PathTraceWorkGPU::copy_to_display_naive(), GeometryManager::device_update_attributes(), LightManager::device_update_background(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), LightManager::device_update_ies(), LightManager::device_update_lights(), GeometryManager::device_update_mesh(), ParticleSystemManager::device_update_particles(), ObjectManager::device_update_prim_offsets(), ObjectManager::device_update_transforms(), LightManager::device_update_tree(), PathTraceWorkGPU::enqueue_work_tiles(), RenderBuffers::reset(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 543 of file cycles/device/memory.h.
References device_memory::modified, and device_memory::need_realloc_.
Referenced by ObjectManager::device_update_prim_offsets().
|
inline |
Definition at line 549 of file cycles/device/memory.h.
References device_memory::data_height, device_memory::data_width, device_memory::device_copy_from(), and T.
Referenced by PathTraceWorkGPU::alloc_integrator_queue(), RenderBuffers::copy_from_device(), DenoiseTask::exec(), and device_vector< T >::move_device().
|
inline |
Definition at line 554 of file cycles/device/memory.h.
References device_memory::device_copy_from(), and w().
|
inline |
Definition at line 527 of file cycles/device/memory.h.
References device_memory::data_size, and device_memory::device_copy_to().
Referenced by RenderBuffers::copy_to_device(), device_vector< T >::copy_to_device_if_modified(), LightManager::device_update_background(), GeometryManager::device_update_bvh(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), ObjectManager::device_update_geom_offsets(), LightManager::device_update_ies(), LightManager::device_update_lights(), GeometryManager::device_update_mesh(), ParticleSystemManager::device_update_particles(), ObjectManager::device_update_prim_offsets(), LightManager::device_update_tree(), DenoiseTask::load_input_pixels(), CPUDevice::load_texture_info(), GPUDevice::load_texture_info(), device_vector< T >::move_device(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 534 of file cycles/device/memory.h.
References device_vector< T >::copy_to_device(), and device_memory::modified.
Referenced by GeometryManager::device_update_attributes(), and GeometryManager::device_update_mesh().
|
inline |
Definition at line 511 of file cycles/device/memory.h.
References device_memory::host_pointer.
Referenced by PathTraceWorkGPU::adaptive_sampling_convergence_check_count_active(), LookupTables::add_table(), device_vector< T >::alloc(), PathTraceWorkGPU::alloc_integrator_path_split(), ObjectManager::apply_static_transforms(), PathTraceWorkGPU::compact_paths(), PathTraceWorkGPU::compact_shadow_paths(), PathTraceWork::copy_from_render_buffers(), PathTraceWorkGPU::copy_to_display_naive(), PathTraceWork::copy_to_render_buffers(), DenoiserGPU::denoise_buffer(), ObjectManager::device_update_geom_offsets(), LightManager::device_update_tree(), PathTraceWorkGPU::enqueue_path_iteration(), PathTraceWorkGPU::enqueue_path_iteration(), PathTraceWorkGPU::enqueue_reset(), PathTraceWorkGPU::enqueue_work_tiles(), PathTraceWorkGPU::enqueue_work_tiles(), DenoiseTask::exec(), fill_shader_input(), fill_shader_input(), PathTraceWorkGPU::get_most_queued_kernel(), PassAccessor::get_render_tile_pixels(), PassAccessor::get_render_tile_pixels(), PathTraceWorkGPU::kernel_max_active_main_path_index(), DenoiseTask::load_input_pixels(), PathTraceWorkGPU::num_active_main_paths_paths(), device_vector< T >::operator[](), read_shader_output(), read_shader_output(), render_buffers_host_copy_denoised(), device_vector< T >::resize(), PassAccessorCPU::run_get_pass_kernel_processor_float(), PassAccessorCPU::run_get_pass_kernel_processor_half_rgba(), PassAccessor::set_render_tile_pixels(), shade_background_pixels(), PathTraceWorkGPU::shadow_catcher_count_possible_splits(), CPUDevice::tex_alloc(), and TileManager::write_tile().
|
inline |
Definition at line 516 of file cycles/device/memory.h.
References device_memory::host_pointer.
|
inline |
Definition at line 463 of file cycles/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 Camera::device_free(), LightManager::device_free(), LookupTables::device_free(), ParticleSystemManager::device_free(), SVMShaderManager::device_free(), ShaderManager::device_free_common(), ShaderManager::device_update_common(), LightManager::device_update_distribution(), DenoiseTask::free(), device_vector< T >::free_if_need_realloc(), CPUDevice::~CPUDevice(), device_vector< T >::~device_vector(), and RenderBuffers::~RenderBuffers().
|
inline |
Definition at line 478 of file cycles/device/memory.h.
References device_vector< T >::free(), and device_memory::need_realloc_.
Referenced by GeometryManager::device_free(), Integrator::device_free(), and ObjectManager::device_free().
|
inline |
Definition at line 449 of file cycles/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, and device_memory::host_pointer.
|
inline |
Definition at line 485 of file cycles/device/memory.h.
References device_memory::modified.
|
inline |
Definition at line 564 of file cycles/device/memory.h.
References device_vector< T >::copy_from_device(), device_vector< T >::copy_to_device(), device_memory::device, and device_memory::device_free().
|
inline |
Definition at line 490 of file cycles/device/memory.h.
References device_memory::need_realloc_.
Referenced by GeometryManager::device_update_attributes(), GeometryManager::device_update_mesh(), ObjectManager::device_update_transforms(), and GeometryManager::update_svm_attributes().
|
inline |
Definition at line 521 of file cycles/device/memory.h.
References device_vector< T >::data(), and device_memory::data_size.
|
inline |
Definition at line 409 of file cycles/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, device_memory::host_alloc(), device_memory::host_free(), device_memory::host_pointer, and device_vector< T >::size().
Referenced by LookupTables::add_table(), and CPUDevice::tex_alloc().
|
inline |
Definition at line 506 of file cycles/device/memory.h.
References device_memory::data_size.
Referenced by device_vector< T >::alloc(), PathTraceWorkGPU::alloc_integrator_path_split(), PathTraceWorkGPU::alloc_integrator_queue(), PathTraceWorkGPU::alloc_integrator_sorting(), DenoiserGPU::denoise_buffer(), ObjectManager::device_update_geom_offsets(), PathTraceWorkGPU::enqueue_reset(), PathTraceWorkGPU::enqueue_work_tiles(), read_shader_output(), device_vector< T >::resize(), CPUDevice::tex_alloc(), and GeometryManager::update_svm_attributes().
|
inlineprotected |
Definition at line 573 of file cycles/device/memory.h.
|
inline |
Definition at line 436 of file cycles/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(), and device_memory::host_pointer.
Referenced by GeometryManager::device_update_bvh().
|
inline |
Definition at line 495 of file cycles/device/memory.h.
References device_memory::modified.
Referenced by ObjectManager::device_update(), and device_vector< T >::tag_realloc().
|
inline |
Definition at line 500 of file cycles/device/memory.h.
References device_memory::need_realloc_, and device_vector< T >::tag_modified().
Referenced by ObjectManager::device_update().
|
inline |
Definition at line 559 of file cycles/device/memory.h.
References device_memory::device_zero().
Referenced by PathTraceWorkGPU::alloc_integrator_path_split(), PathTraceWorkGPU::alloc_integrator_queue(), PathTraceWorkGPU::alloc_integrator_sorting(), and RenderBuffers::zero().