|
Blender
V2.93
|
Inherits Device.
Protected Member Functions | |
| KernelGlobals | thread_kernel_globals_init () |
| void | thread_kernel_globals_free (KernelGlobals *kg) |
| virtual bool | load_kernels (const DeviceRequestedFeatures &requested_features_) override |
Protected Member Functions inherited from Device | |
| Device (DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool background) | |
| bool | bind_fallback_display_space_shader (const float width, const float height) |
| virtual void | mem_free_sub_ptr (device_ptr) |
Definition at line 176 of file device_cpu.cpp.
|
inline |
Definition at line 283 of file device_cpu.cpp.
References DebugFlags::cpu, DeviceInfo::cpu_threads, DebugFlags(), indirect_background(), Device::info, kernel_globals, need_texture_info, TaskScheduler::num_threads(), path_init(), REGISTER_SPLIT_KERNEL, scene_intersect(), DebugFlags::CPU::split_kernel, use_split_kernel, and VLOG.
|
inline |
Definition at line 353 of file device_cpu.cpp.
References TaskPool::cancel(), device_vector< T >::free(), task_pool, and texture_info.
|
inline |
Definition at line 879 of file device_cpu.cpp.
References any(), WorkTile::buffer, buffer, RenderTile::buffer, WorkTile::h, RenderTile::h, if(), kernel_data, kernel_do_adaptive_filter_x(), kernel_do_adaptive_filter_y(), kernel_do_adaptive_stopping(), kg, WorkTile::offset, RenderTile::offset, blender::compositor::sample(), WorkTile::stride, RenderTile::stride, WorkTile::w, RenderTile::w, WorkTile::x, RenderTile::x, x, WorkTile::y, RenderTile::y, and y.
Referenced by render().
|
inline |
Definition at line 913 of file device_cpu.cpp.
References buffer, RenderTile::buffer, ccl_global, RenderTile::h, kernel_adaptive_post_adjust(), kernel_data, kg, RenderTile::offset, RenderTile::sample, RenderTile::stride, RenderTile::w, RenderTile::x, x, RenderTile::y, and y.
Referenced by render().
Reimplemented from Device.
Definition at line 551 of file device_cpu.cpp.
References Device::build_bvh(), BVHParams::bvh_layout, BVH_LAYOUT_EMBREE, BVH_LAYOUT_MULTI_OPTIX_EMBREE, BVH::params, refit(), Device::stats, and BVHParams::top_level.
|
inlineoverridevirtual |
Implements Device.
Definition at line 475 of file device_cpu.cpp.
References data, kernel_const_copy(), kernel_globals, and size().
|
inline |
Definition at line 1218 of file device_cpu.cpp.
References DenoisingTask::DeviceFunctions::accumulate, DenoisingTask::buffer, DenoisingTask::DeviceFunctions::combine_halves, DenoisingTask::DeviceFunctions::construct_transform, denoising_accumulate(), denoising_combine_halves(), denoising_construct_transform(), denoising_detect_outliers(), denoising_divide_shadow(), denoising_get_feature(), denoising_non_local_means(), denoising_solve(), denoising_write_feature(), DenoisingTask::DeviceFunctions::detect_outliers, DenoisingTask::DeviceFunctions::divide_shadow, DenoisingTask::filter_area, function_bind, DenoisingTask::functions, DenoisingTask::DeviceFunctions::get_feature, DenoisingTask::DenoiseBuffers::gpu_temporary_mem, RenderTile::h, make_int4, DenoisingTask::DeviceFunctions::non_local_means, RenderTile::num_samples, DenoisingTask::profiler, PROFILING_DENOISING, DenoisingTask::render_buffer, DenoisingTask::run_denoising(), RenderTile::sample, DenoisingTask::RenderBuffers::samples, DenoisingTask::DeviceFunctions::solve, RenderTile::start_sample, RenderTile::w, DenoisingTask::DeviceFunctions::write_feature, RenderTile::x, and RenderTile::y.
Referenced by thread_denoise(), and thread_render().
|
inline |
Definition at line 1114 of file device_cpu.cpp.
References RenderTile::bounds(), RenderTileNeighbors::bounds(), RenderBuffers::buffer, RenderTile::buffer, RenderTile::buffers, RenderTileNeighbors::CENTER, device_vector< T >::copy_from_device(), device_vector< T >::copy_to_device(), array< T, alignment >::data(), DeviceTask::DENOISE_BUFFER, denoise_openimagedenoise_buffer(), RenderTile::h, make_int2, max, min, RenderTile::num_samples, RenderTile::offset, rect_clip(), rect_expand(), rect_size(), RenderTile::sample, RenderTileNeighbors::SIZE, RenderTile::start_sample, RenderTile::stride, RenderTileNeighbors::target, blender::compositor::task, RenderTileNeighbors::tiles, int4::w, RenderTile::w, int4::x, RenderTile::x, x, int4::y, RenderTile::y, y, and int4::z.
Referenced by thread_denoise(), and thread_render().
|
inline |
Definition at line 1003 of file device_cpu.cpp.
References buffer, array< T, alignment >::data(), DENOISER_INPUT_RGB_ALBEDO, DENOISER_INPUT_RGB_ALBEDO_NORMAL, DENOISING_PASS_ALBEDO, DENOISING_PASS_COLOR, DENOISING_PASS_NORMAL, float(), mutex, NULL, openimagedenoise_supported(), array< T, alignment >::resize(), stride, blender::compositor::task, thread_mutex, w(), x, and y.
Referenced by denoise_openimagedenoise().
|
inline |
Definition at line 678 of file device_cpu.cpp.
References filter_nlm_blur_kernel, filter_nlm_calc_difference_kernel, filter_nlm_calc_weight_kernel, filter_nlm_construct_gramian_kernel, max, PROFILING_DENOISING_RECONSTRUCT, r, and blender::compositor::task.
Referenced by denoise_nlm().
|
inline |
Definition at line 755 of file device_cpu.cpp.
References filter_combine_halves_kernel, PROFILING_DENOISING_COMBINE_HALVES, r, blender::compositor::task, int4::w, int4::x, x, int4::y, y, and int4::z.
Referenced by denoise_nlm().
|
inline |
Definition at line 654 of file device_cpu.cpp.
References filter_construct_transform_kernel, PROFILING_DENOISING_CONSTRUCT_TRANSFORM, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inline |
Definition at line 856 of file device_cpu.cpp.
References filter_detect_outliers_kernel, PROFILING_DENOISING_DETECT_OUTLIERS, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inline |
Definition at line 780 of file device_cpu.cpp.
References filter_divide_shadow_kernel, PROFILING_DENOISING_DIVIDE_SHADOW, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inline |
Definition at line 808 of file device_cpu.cpp.
References filter_get_feature_kernel, PROFILING_DENOISING_GET_FEATURE, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inline |
Definition at line 585 of file device_cpu.cpp.
References Freestyle::a, align_up(), filter_nlm_blur_kernel, filter_nlm_calc_difference_kernel, filter_nlm_calc_weight_kernel, filter_nlm_normalize_kernel, filter_nlm_update_output_kernel, max, NULL, PROFILING_DENOISING_NON_LOCAL_MEANS, r, stride, blender::compositor::task, int4::w, w(), int4::x, int4::y, and int4::z.
Referenced by denoise_nlm().
|
inline |
Definition at line 737 of file device_cpu.cpp.
References filter_finalize_kernel, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inline |
Definition at line 836 of file device_cpu.cpp.
References filter_write_feature_kernel, blender::compositor::task, x, and y.
Referenced by denoise_nlm().
|
inlineoverridevirtual |
Implements Device.
Definition at line 367 of file device_cpu.cpp.
References BVH_LAYOUT_BVH2, and BVH_LAYOUT_EMBREE.
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 1428 of file device_cpu.cpp.
References DeviceInfo::cpu_threads, Device::info, DeviceTask::SHADER, and blender::compositor::task.
|
inline |
Definition at line 489 of file device_cpu.cpp.
References device_memory::data_size, device_memory::device_pointer, device_memory::device_size, device_memory::host_pointer, kernel_global_memory_copy(), kernel_globals, Stats::mem_alloc(), device_memory::memory_size(), device_memory::name, Device::stats, string_human_readable_number(), string_human_readable_size(), and VLOG.
Referenced by mem_copy_to().
|
inline |
Definition at line 502 of file device_cpu.cpp.
References device_memory::device_pointer, device_memory::device_size, Stats::mem_free(), and Device::stats.
Referenced by mem_copy_to(), and mem_free().
|
inlineoverrideprotectedvirtual |
Reimplemented from Device.
Definition at line 1513 of file device_cpu.cpp.
References requested_features.
|
inline |
Definition at line 376 of file device_cpu.cpp.
References device_vector< T >::copy_to_device(), need_texture_info, and texture_info.
Referenced by task_add().
|
inlineoverridevirtual |
Implements Device.
Definition at line 384 of file device_cpu.cpp.
References data, device_memory::device_pointer, device_memory::device_size, device_memory::host_pointer, Stats::mem_alloc(), MEM_DEVICE_ONLY, MEM_GLOBAL, MEM_TEXTURE, device_memory::memory_size(), MIN_ALIGNMENT_CPU_DATA_TYPES, device_memory::name, Device::stats, string_human_readable_number(), string_human_readable_size(), device_memory::type, util_aligned_malloc(), and VLOG.
Referenced by mem_copy_to(), and mem_zero().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 470 of file device_cpu.cpp.
References device_memory::device_pointer, and device_memory::memory_elements_size().
|
inlineoverridevirtual |
Implements Device.
Definition at line 435 of file device_cpu.cpp.
|
inlineoverridevirtual |
Implements Device.
Definition at line 413 of file device_cpu.cpp.
References device_memory::device_pointer, global_alloc(), global_free(), mem_alloc(), MEM_GLOBAL, MEM_PIXELS, MEM_TEXTURE, tex_alloc(), tex_free(), and device_memory::type.
|
inlineoverridevirtual |
Implements Device.
Definition at line 452 of file device_cpu.cpp.
References device_memory::device_pointer, device_memory::device_size, global_free(), device_memory::host_pointer, MEM_DEVICE_ONLY, Stats::mem_free(), MEM_GLOBAL, MEM_TEXTURE, Device::stats, tex_free(), device_memory::type, and util_aligned_free().
|
inlineoverridevirtual |
Implements Device.
Definition at line 441 of file device_cpu.cpp.
References device_memory::device_pointer, mem_alloc(), and device_memory::memory_size().
|
inlineoverridevirtual |
|
inline |
Definition at line 934 of file device_cpu.cpp.
References adaptive_sampling_filter(), adaptive_sampling_post(), bake_kernel, RenderTile::buffer, RenderTile::buffers, RenderTile::CAN_BE_STOLEN, TaskPool::canceled(), CRYPT_ACCURATE, Coverage::finalize(), RenderTile::h, Coverage::init_path_trace(), Coverage::init_pixel(), kernel_data, kg, RenderTile::num_samples, RenderTile::offset, RenderTile::PATH_TRACE, path_trace_kernel, RenderBuffers::render_time, RenderTile::sample, blender::compositor::sample(), SIMD_SET_FLUSH_TO_ZERO, RenderTile::start_sample, RenderTile::stealing_state, RenderTile::stride, RenderTile::task, blender::compositor::task, RenderTile::w, RenderTile::WAS_STOLEN, RenderTile::x, x, RenderTile::y, and y.
Referenced by thread_render().
|
inlineoverridevirtual |
Reimplemented from Device.
Definition at line 362 of file device_cpu.cpp.
References DeviceInfo::cpu_threads, and Device::info.
|
inlineoverridevirtual |
Implements Device.
Definition at line 1436 of file device_cpu.cpp.
References DeviceInfo::cpu_threads, DeviceTask::DENOISE_BUFFER, DENOISER_OPENIMAGEDENOISE, Device::info, load_texture_info(), TaskPool::push(), DeviceTask::SHADER, blender::compositor::task, task_pool, and thread_run().
|
inlineoverridevirtual |
Implements Device.
Definition at line 1469 of file device_cpu.cpp.
References TaskPool::cancel(), and task_pool.
|
inlineoverridevirtual |
Implements Device.
Definition at line 1464 of file device_cpu.cpp.
References task_pool, and TaskPool::wait_work().
|
inline |
Definition at line 511 of file device_cpu.cpp.
References device_vector< T >::data(), device_memory::device_pointer, device_memory::device_size, device_memory::host_pointer, device_texture::info, Stats::mem_alloc(), device_memory::memory_size(), device_memory::name, need_texture_info, device_vector< T >::resize(), device_vector< T >::size(), device_texture::slot, Device::stats, string_human_readable_number(), string_human_readable_size(), texture_info, and VLOG.
Referenced by mem_copy_to().
|
inline |
Definition at line 532 of file device_cpu.cpp.
References device_memory::device_pointer, device_memory::device_size, Stats::mem_free(), need_texture_info, and Device::stats.
Referenced by mem_copy_to(), and mem_free().
|
inline |
Definition at line 1340 of file device_cpu.cpp.
References Profiler::add_state(), RenderTile::buffer, RenderTile::buffers, denoise_nlm(), denoise_openimagedenoise(), DENOISER_OPENIMAGEDENOISE, RenderTile::h, RenderTile::num_samples, RenderTile::offset, Device::profiler, DenoisingTask::profiler, Profiler::remove_state(), RenderTile::sample, RenderTile::start_sample, RenderTile::stride, blender::compositor::task, RenderTile::w, RenderTile::x, and RenderTile::y.
Referenced by thread_run().
|
inline |
Definition at line 1373 of file device_cpu.cpp.
References convert_to_byte_kernel, convert_to_half_float_kernel, kernel_globals, blender::compositor::task, x, and y.
Referenced by thread_run().
|
inlineprotected |
Definition at line 1492 of file device_cpu.cpp.
References free(), kg, and NULL.
Referenced by thread_render(), and thread_shader().
|
inlineprotected |
Definition at line 1475 of file device_cpu.cpp.
References kernel_globals, kg, and NULL.
Referenced by thread_render(), and thread_shader().
|
inline |
Definition at line 1249 of file device_cpu.cpp.
References Profiler::add_state(), device_only_memory< T >::alloc_to_device(), RenderTile::BAKE, TaskPool::canceled(), RenderTile::DENOISE, DENOISE, denoise_nlm(), denoise_openimagedenoise(), DENOISER_NLM, DENOISER_OPENIMAGEDENOISE, device_memory::device_pointer, device_only_memory< T >::free(), RenderTile::h, kg, DeviceSplitKernel::load_kernels(), NULL, oidn_task_lock, DeviceSplitKernel::path_trace(), RenderTile::PATH_TRACE, Device::profiler, DenoisingTask::profiler, Profiler::remove_state(), render(), requested_features, RenderTile::task, blender::compositor::task, thread_kernel_globals_free(), thread_kernel_globals_init(), use_split_kernel, and RenderTile::w.
Referenced by thread_run().
|
inline |
Definition at line 573 of file device_cpu.cpp.
References DeviceTask::DENOISE_BUFFER, DeviceTask::FILM_CONVERT, DeviceTask::RENDER, DeviceTask::SHADER, blender::compositor::task, thread_denoise(), thread_film_convert(), thread_render(), and thread_shader().
Referenced by task_add().
|
inline |
Definition at line 1403 of file device_cpu.cpp.
References TaskPool::canceled(), kg, NULL, blender::compositor::sample(), shader_kernel, blender::compositor::task, thread_kernel_globals_free(), thread_kernel_globals_init(), and x.
Referenced by thread_run().
| KernelFunctions<void (*)(KernelGlobals *, float *, int, int, int, int, int)> CPUDevice::bake_kernel |
Definition at line 208 of file device_cpu.cpp.
Referenced by render().
| KernelFunctions<void (*)(KernelGlobals *, uchar4 *, float *, float, int, int, int, int)> CPUDevice::convert_to_byte_kernel |
Definition at line 205 of file device_cpu.cpp.
Referenced by thread_film_convert().
| KernelFunctions<void (*)(KernelGlobals *, uchar4 *, float *, float, int, int, int, int)> CPUDevice::convert_to_half_float_kernel |
Definition at line 203 of file device_cpu.cpp.
Referenced by thread_film_convert().
| KernelFunctions<void (*)(KernelGlobals *, ccl_constant KernelData *, ccl_global void *, int, ccl_global char *, int, int, int, int, int, int, int, int, ccl_global int *, int, ccl_global char *, ccl_global unsigned int *, unsigned int, ccl_global float *)> CPUDevice::data_init_kernel |
Definition at line 275 of file device_cpu.cpp.
Referenced by CPUSplitKernel::enqueue_split_kernel_data_init().
| KernelFunctions<void (*)(int, int, float *, float *, float *, float *, int *, int)> CPUDevice::filter_combine_halves_kernel |
Definition at line 221 of file device_cpu.cpp.
Referenced by denoising_combine_halves().
| KernelFunctions<void (*)( float *, TileInfo *, int, int, int, float *, int *, int *, int, int, bool, int, float)> CPUDevice::filter_construct_transform_kernel |
Definition at line 235 of file device_cpu.cpp.
Referenced by denoising_construct_transform().
| KernelFunctions<void (*)(int, int, float *, float *, float *, float *, int *, int)> CPUDevice::filter_detect_outliers_kernel |
Definition at line 219 of file device_cpu.cpp.
Referenced by denoising_detect_outliers().
| KernelFunctions<void (*)( int, TileInfo *, int, int, float *, float *, float *, float *, float *, int *, int, int)> CPUDevice::filter_divide_shadow_kernel |
Definition at line 212 of file device_cpu.cpp.
Referenced by denoising_divide_shadow().
| KernelFunctions<void (*)(int, int, int, float *, int *, float *, float3 *, int *, int)> CPUDevice::filter_finalize_kernel |
Definition at line 254 of file device_cpu.cpp.
Referenced by denoising_solve().
| KernelFunctions<void (*)( int, TileInfo *, int, int, int, int, float *, float *, float, int *, int, int)> CPUDevice::filter_get_feature_kernel |
Definition at line 215 of file device_cpu.cpp.
Referenced by denoising_get_feature().
| KernelFunctions<void (*)(float *, float *, int *, int, int)> CPUDevice::filter_nlm_blur_kernel |
Definition at line 226 of file device_cpu.cpp.
Referenced by denoising_accumulate(), and denoising_non_local_means().
| KernelFunctions<void (*)( int, int, float *, float *, float *, float *, int *, int, int, int, float, float)> CPUDevice::filter_nlm_calc_difference_kernel |
Definition at line 225 of file device_cpu.cpp.
Referenced by denoising_accumulate(), and denoising_non_local_means().
| KernelFunctions<void (*)(float *, float *, int *, int, int)> CPUDevice::filter_nlm_calc_weight_kernel |
Definition at line 227 of file device_cpu.cpp.
Referenced by denoising_accumulate(), and denoising_non_local_means().
| KernelFunctions<void (*)(int, int, int, float *, float *, float *, int *, float *, float3 *, int *, int *, int, int, int, int, bool)> CPUDevice::filter_nlm_construct_gramian_kernel |
Definition at line 252 of file device_cpu.cpp.
Referenced by denoising_accumulate().
| KernelFunctions<void (*)(float *, float *, int *, int)> CPUDevice::filter_nlm_normalize_kernel |
Definition at line 231 of file device_cpu.cpp.
Referenced by denoising_non_local_means().
| KernelFunctions<void (*)( int, int, float *, float *, float *, float *, float *, int *, int, int, int)> CPUDevice::filter_nlm_update_output_kernel |
Definition at line 230 of file device_cpu.cpp.
Referenced by denoising_non_local_means().
| KernelFunctions<void (*)(int, int, int, int *, float *, float *, int, int *)> CPUDevice::filter_write_feature_kernel |
Definition at line 217 of file device_cpu.cpp.
Referenced by denoising_write_feature().
| KernelGlobals CPUDevice::kernel_globals |
Definition at line 179 of file device_cpu.cpp.
Referenced by const_copy_to(), CPUDevice(), global_alloc(), thread_film_convert(), and thread_kernel_globals_init().
| bool CPUDevice::need_texture_info |
Definition at line 182 of file device_cpu.cpp.
Referenced by CPUDevice(), load_texture_info(), tex_alloc(), and tex_free().
| thread_spin_lock CPUDevice::oidn_task_lock |
Definition at line 191 of file device_cpu.cpp.
Referenced by thread_render().
| KernelFunctions<void (*)(KernelGlobals *, float *, int, int, int, int, int)> CPUDevice::path_trace_kernel |
Definition at line 201 of file device_cpu.cpp.
Referenced by render().
| DeviceRequestedFeatures CPUDevice::requested_features |
Definition at line 199 of file device_cpu.cpp.
Referenced by load_kernels(), and thread_render().
| KernelFunctions<void (*)(KernelGlobals *, uint4 *, float4 *, int, int, int, int, int)> CPUDevice::shader_kernel |
Definition at line 207 of file device_cpu.cpp.
Referenced by thread_shader().
| unordered_map<string, KernelFunctions<void (*)(KernelGlobals *, KernelData *)> > CPUDevice::split_kernels |
Definition at line 276 of file device_cpu.cpp.
Referenced by CPUSplitKernel::get_split_kernel_function().
| TaskPool CPUDevice::task_pool |
Definition at line 178 of file device_cpu.cpp.
Referenced by task_add(), task_cancel(), task_wait(), and ~CPUDevice().
| device_vector<TextureInfo> CPUDevice::texture_info |
Definition at line 181 of file device_cpu.cpp.
Referenced by load_texture_info(), tex_alloc(), and ~CPUDevice().
| bool CPUDevice::use_split_kernel |
Definition at line 197 of file device_cpu.cpp.
Referenced by CPUDevice(), and thread_render().