|
Blender
V2.93
|
Inherits Device.
Classes | |
| struct | SubDevice |
Public Attributes | |
| list< SubDevice > | devices |
| list< SubDevice > | denoising_devices |
| device_ptr | unique_key |
| vector< vector< SubDevice * > > | peer_islands |
| bool | use_denoising |
| bool | matching_rendering_and_denoising_devices |
Public Attributes inherited from Device | |
| DeviceInfo | info |
| Stats & | stats |
| Profiler & | profiler |
Definition at line 37 of file device_multi.cpp.
|
inline |
Definition at line 52 of file device_multi.cpp.
References Device::background, Device::check_peer_access(), Device::create(), DeviceInfo::denoising_devices, denoising_devices, MultiDevice::SubDevice::device, DEVICE_CPU, DEVICE_CUDA, device_network_create(), DEVICE_OPTIX, devices, DeviceInfo::has_peer_memory, Device::info, matching_rendering_and_denoising_devices, DeviceInfo::multi_devices, DeviceInfo::num, MultiDevice::SubDevice::peer_island_index, peer_islands, Device::profiler, Device::stats, MultiDevice::SubDevice::stats, time_sleep(), and DeviceInfo::type.
|
inline |
Definition at line 142 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, and devices.
Reimplemented from Device.
Definition at line 248 of file device_multi.cpp.
References Device::build_bvh(), Geometry::bvh, BVHParams::bvh_layout, BVH_LAYOUT_BVH2, BVH_LAYOUT_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_OPTIX, BVH::create(), MultiDevice::SubDevice::device, DEVICE_OPTIX, devices, BVH::geometry, Device::info, BVH::objects, BVH::params, params, refit(), BVHMulti::sub_bvhs, and DeviceInfo::type.
|
inlineoverridevirtual |
Implements Device.
Definition at line 571 of file device_multi.cpp.
References Device::const_copy_to(), MultiDevice::SubDevice::device, devices, and size().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 633 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, and devices.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 577 of file device_multi.cpp.
References MultiDevice::SubDevice::device, device_memory::device_pointer, devices, Device::draw_pixels(), height, MEM_PIXELS, MultiDevice::SubDevice::ptr_map, device_memory::type, w(), width, and y.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 150 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, devices, Device::error_message(), and Device::error_msg.
|
inline |
Definition at line 355 of file device_multi.cpp.
References find_matching_mem_device(), and MultiDevice::SubDevice::ptr_map.
Referenced by map_tile(), and task_add().
|
inline |
Definition at line 323 of file device_multi.cpp.
References MultiDevice::SubDevice::peer_island_index, peer_islands, and MultiDevice::SubDevice::ptr_map.
Referenced by find_matching_mem(), is_resident(), mem_copy_from(), and mem_free().
|
inline |
Definition at line 340 of file device_multi.cpp.
References MultiDevice::SubDevice::device, Stats::mem_used, MultiDevice::SubDevice::ptr_map, and Device::stats.
Referenced by mem_alloc(), mem_copy_to(), and mem_zero().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 228 of file device_multi.cpp.
References MultiDevice::SubDevice::device, DEVICE_KERNEL_FEATURE_KERNEL_AVAILABLE, DEVICE_KERNEL_FEATURE_KERNEL_INVALID, DEVICE_KERNEL_UNKNOWN, DEVICE_KERNEL_USING_FEATURE_KERNEL, devices, Device::get_active_kernel_switch_state(), and result.
|
inlineoverridevirtual |
Implements Device.
Definition at line 170 of file device_multi.cpp.
References BVH_LAYOUT_ALL, BVH_LAYOUT_EMBREE, BVH_LAYOUT_MULTI_OPTIX, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH_LAYOUT_NONE, BVH_LAYOUT_OPTIX, MultiDevice::SubDevice::device, devices, and Device::get_bvh_layout_mask().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 738 of file device_multi.cpp.
References MultiDevice::SubDevice::device, devices, Device::get_split_task_count(), and blender::compositor::task.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 313 of file device_multi.cpp.
References MultiDevice::SubDevice::device, devices, and find_matching_mem_device().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 194 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, devices, Device::load_kernels(), DeviceRequestedFeatures::use_denoising, and use_denoising.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 652 of file device_multi.cpp.
References RenderBuffers::buffer, RenderTile::buffer, RenderTile::buffers, device_vector< T >::copy_from_device(), device_vector< T >::copy_to_device(), device_memory::device, device_memory::device_pointer, device_memory::device_size, RenderTile::device_size, RenderBuffers::map_neighbor_copied, map_tile(), matching_rendering_and_denoising_devices, device_memory::restore_device(), RenderTileNeighbors::SIZE, device_memory::swap_device(), and RenderTileNeighbors::tiles.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 612 of file device_multi.cpp.
References RenderTile::buffer, denoising_devices, MultiDevice::SubDevice::device, devices, find_matching_mem(), and MultiDevice::SubDevice::ptr_map.
Referenced by map_neighbor_tiles().
|
inlineoverridevirtual |
Implements Device.
Definition at line 360 of file device_multi.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, devices, find_suitable_mem_device(), Device::mem_alloc(), Stats::mem_alloc(), MEM_DEVICE_ONLY, MEM_PIXELS, MEM_READ_ONLY, MEM_READ_WRITE, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, and unique_key.
|
inlineoverridevirtual |
Implements Device.
Definition at line 439 of file device_multi.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, devices, find_matching_mem_device(), Device::mem_copy_from(), MultiDevice::SubDevice::ptr_map, w(), and y.
|
inlineoverridevirtual |
Implements Device.
Definition at line 396 of file device_multi.cpp.
References device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, devices, find_suitable_mem_device(), Stats::mem_alloc(), Device::mem_copy_to(), MEM_GLOBAL, MEM_TEXTURE, device_memory::name, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, unique_key, and use_denoising.
|
inlineoverridevirtual |
Implements Device.
Definition at line 515 of file device_multi.cpp.
References denoising_devices, device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, devices, find_matching_mem_device(), matching_rendering_and_denoising_devices, Device::mem_free(), Stats::mem_free(), MEM_PIXELS, MEM_TEXTURE, device_memory::name, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, device_memory::type, and use_denoising.
|
inlineoverridevirtual |
Implements Device.
Definition at line 460 of file device_multi.cpp.
References denoising_devices, device_memory::device, MultiDevice::SubDevice::device, device_memory::device_pointer, device_memory::device_size, devices, find_suitable_mem_device(), matching_rendering_and_denoising_devices, Stats::mem_alloc(), Device::mem_zero(), device_memory::name, peer_islands, MultiDevice::SubDevice::ptr_map, Device::stats, unique_key, and use_denoising.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 305 of file device_multi.cpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements Device.
Definition at line 754 of file device_multi.cpp.
References DeviceTask::buffer, RenderTile::DENOISE, DeviceTask::DENOISE_BUFFER, denoising_devices, MultiDevice::SubDevice::device, devices, find_matching_mem(), MultiDevice::SubDevice::ptr_map, DeviceTask::RENDER, DeviceTask::rgba_byte, DeviceTask::rgba_half, DeviceTask::shader_input, DeviceTask::shader_output, blender::compositor::task, Device::task_add(), and Device::task_wait().
|
inlineoverridevirtual |
Implements Device.
Definition at line 812 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, devices, and Device::task_cancel().
|
inlineoverridevirtual |
Implements Device.
Definition at line 804 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, devices, and Device::task_wait().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 704 of file device_multi.cpp.
References RenderBuffers::buffer, RenderTile::buffer, RenderTile::buffers, device_vector< T >::copy_from_device(), device_vector< T >::copy_to_device(), device_memory::device, RenderTile::device_size, matching_rendering_and_denoising_devices, Device::mem_free(), device_memory::restore_device(), RenderTileNeighbors::SIZE, device_memory::swap_device(), RenderTileNeighbors::target, and RenderTileNeighbors::tiles.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 213 of file device_multi.cpp.
References denoising_devices, MultiDevice::SubDevice::device, devices, DeviceRequestedFeatures::use_denoising, and Device::wait_for_availability().
| list<SubDevice> MultiDevice::denoising_devices |
Definition at line 46 of file device_multi.cpp.
Referenced by device_number(), error_message(), load_kernels(), map_tile(), mem_free(), mem_zero(), MultiDevice(), task_add(), task_cancel(), task_wait(), wait_for_availability(), and ~MultiDevice().
| list<SubDevice> MultiDevice::devices |
Definition at line 46 of file device_multi.cpp.
Referenced by build_bvh(), const_copy_to(), device_number(), draw_pixels(), error_message(), get_active_kernel_switch_state(), get_bvh_layout_mask(), get_split_task_count(), is_resident(), load_kernels(), map_tile(), mem_alloc(), mem_copy_from(), mem_copy_to(), mem_free(), mem_zero(), MultiDevice(), osl_memory(), show_samples(), task_add(), task_cancel(), task_wait(), wait_for_availability(), and ~MultiDevice().
| bool MultiDevice::matching_rendering_and_denoising_devices |
Definition at line 50 of file device_multi.cpp.
Referenced by map_neighbor_tiles(), mem_free(), mem_zero(), MultiDevice(), and unmap_neighbor_tiles().
Definition at line 48 of file device_multi.cpp.
Referenced by find_matching_mem_device(), mem_alloc(), mem_copy_to(), mem_free(), mem_zero(), and MultiDevice().
| device_ptr MultiDevice::unique_key |
Definition at line 47 of file device_multi.cpp.
Referenced by mem_alloc(), mem_copy_to(), and mem_zero().
| bool MultiDevice::use_denoising |
Definition at line 49 of file device_multi.cpp.
Referenced by load_kernels(), mem_copy_to(), mem_free(), and mem_zero().