Blender V5.0
CPUDevice Class Reference

#include <device_impl.h>

Inherits Device.

Public Member Functions

 CPUDevice (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
 ~CPUDevice () override
BVHLayoutMask get_bvh_layout_mask (uint) const override
bool load_texture_info ()
void mem_alloc (device_memory &mem) override
void mem_copy_to (device_memory &mem) override
void mem_move_to_host (device_memory &mem) override
void mem_copy_from (device_memory &mem, const size_t y, size_t w, const size_t h, size_t elem) override
void mem_zero (device_memory &mem) override
void mem_free (device_memory &mem) override
device_ptr mem_alloc_sub_ptr (device_memory &mem, const size_t offset, size_t) override
void const_copy_to (const char *name, void *host, const size_t size) override
void global_alloc (device_memory &mem)
void global_free (device_memory &mem)
void tex_alloc (device_texture &mem)
void tex_free (device_texture &mem)
void build_bvh (BVH *bvh, Progress &progress, bool refit) override
void * get_guiding_device () const override
void get_cpu_kernel_thread_globals (vector< ThreadKernelGlobalsCPU > &kernel_thread_globals) override
OSLGlobals * get_cpu_osl_memory () override
Public Member Functions inherited from Device
virtual ~Device () noexcept(false)
virtual const string & error_message ()
bool have_error ()
virtual void set_error (const string &error)
virtual bool load_osl_kernels ()
virtual void cancel ()
virtual bool is_ready (string &) const
virtual unique_ptr< DeviceQueuegpu_queue_create ()
virtual void release_bvh (BVH *)
virtual bool set_bvh_limits (size_t, size_t)
virtual int device_number (Device *)
virtual void optimize_for_scene (Scene *)
virtual bool is_resident (device_ptr, Device *sub_device)
virtual bool check_peer_access (Device *)
virtual bool is_shared (const void *, const device_ptr, Device *)
virtual bool should_use_graphics_interop (const GraphicsInteropDevice &, const bool=false)
virtual void * get_native_buffer (device_ptr)
virtual void foreach_device (const std::function< void(Device *)> &callback)

Public Attributes

KernelGlobalsCPU kernel_globals
device_vector< TextureInfotexture_info
bool need_texture_info
Public Attributes inherited from Device
DeviceInfo info
Statsstats
Profilerprofiler
bool headless = true

Protected Member Functions

bool load_kernels (uint) override
Protected Member Functions inherited from Device
 Device (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
virtual void mem_free_sub_ptr (device_ptr)
virtual void * host_alloc (const MemoryType type, const size_t size)
virtual void host_free (const MemoryType type, void *host_pointer, const size_t size)

Additional Inherited Members

Static Public Member Functions inherited from Device
static const CPUKernelsget_cpu_kernels ()
static unique_ptr< Devicecreate (const DeviceInfo &info, Stats &stats, Profiler &profiler, bool headless)
static DeviceType type_from_string (const char *name)
static string string_from_type (DeviceType type)
static vector< DeviceTypeavailable_types ()
static vector< DeviceInfoavailable_devices (const uint device_type_mask=DEVICE_MASK_ALL)
static DeviceInfo dummy_device (const string &error_msg="")
static string device_capabilities (const uint device_type_mask=DEVICE_MASK_ALL)
static DeviceInfo get_multi_device (const vector< DeviceInfo > &subdevices, const int threads, bool background)
static void tag_update ()
static void free_memory ()
Protected Attributes inherited from Device
string error_msg

Detailed Description

Definition at line 37 of file cpu/device_impl.h.

Constructor & Destructor Documentation

◆ CPUDevice()

◆ ~CPUDevice()

CPUDevice::~CPUDevice ( )
override

Definition at line 60 of file cpu/device_impl.cpp.

References texture_info.

Member Function Documentation

◆ build_bvh()

◆ const_copy_to()

void CPUDevice::const_copy_to ( const char * name,
void * host,
const size_t size )
overridevirtual

Implements Device.

Definition at line 184 of file cpu/device_impl.cpp.

References assert, data, kernel_const_copy(), kernel_globals, name, and size().

◆ get_bvh_layout_mask()

BVHLayoutMask CPUDevice::get_bvh_layout_mask ( uint ) const
overridevirtual

Implements Device.

Definition at line 69 of file cpu/device_impl.cpp.

References BVH_LAYOUT_BVH2, and BVH_LAYOUT_EMBREE.

◆ get_cpu_kernel_thread_globals()

void CPUDevice::get_cpu_kernel_thread_globals ( vector< ThreadKernelGlobalsCPU > & kernel_thread_globals)
overridevirtual

Reimplemented from Device.

Definition at line 302 of file cpu/device_impl.cpp.

References get_cpu_osl_memory(), i, Device::info, kernel_globals, load_texture_info(), and Device::profiler.

◆ get_cpu_osl_memory()

OSLGlobals * CPUDevice::get_cpu_osl_memory ( )
overridevirtual

Reimplemented from Device.

Definition at line 315 of file cpu/device_impl.cpp.

Referenced by get_cpu_kernel_thread_globals().

◆ get_guiding_device()

void * CPUDevice::get_guiding_device ( ) const
overridevirtual

Reimplemented from Device.

Definition at line 285 of file cpu/device_impl.cpp.

References guiding_device_type().

◆ global_alloc()

◆ global_free()

void CPUDevice::global_free ( device_memory & mem)

◆ load_kernels()

bool CPUDevice::load_kernels ( uint )
overrideprotectedvirtual

Reimplemented from Device.

Definition at line 324 of file cpu/device_impl.cpp.

◆ load_texture_info()

bool CPUDevice::load_texture_info ( )

Definition at line 78 of file cpu/device_impl.cpp.

References need_texture_info, and texture_info.

Referenced by get_cpu_kernel_thread_globals().

◆ mem_alloc()

◆ mem_alloc_sub_ptr()

device_ptr CPUDevice::mem_alloc_sub_ptr ( device_memory & mem,
const size_t offset,
size_t  )
overridevirtual

◆ mem_copy_from()

void CPUDevice::mem_copy_from ( device_memory & mem,
const size_t y,
size_t w,
const size_t h,
size_t elem )
overridevirtual

Implements Device.

Definition at line 144 of file cpu/device_impl.cpp.

References Device::device_memory.

◆ mem_copy_to()

void CPUDevice::mem_copy_to ( device_memory & mem)
overridevirtual

◆ mem_free()

◆ mem_move_to_host()

void CPUDevice::mem_move_to_host ( device_memory & mem)
overridevirtual

Implements Device.

Definition at line 139 of file cpu/device_impl.cpp.

References Device::device_memory.

◆ mem_zero()

void CPUDevice::mem_zero ( device_memory & mem)
overridevirtual

◆ tex_alloc()

◆ tex_free()

void CPUDevice::tex_free ( device_texture & mem)

Member Data Documentation

◆ kernel_globals

KernelGlobalsCPU CPUDevice::kernel_globals

Definition at line 39 of file cpu/device_impl.h.

Referenced by const_copy_to(), get_cpu_kernel_thread_globals(), and global_alloc().

◆ need_texture_info

bool CPUDevice::need_texture_info

Definition at line 42 of file cpu/device_impl.h.

Referenced by CPUDevice(), load_texture_info(), tex_alloc(), and tex_free().

◆ texture_info

device_vector<TextureInfo> CPUDevice::texture_info

Definition at line 41 of file cpu/device_impl.h.

Referenced by CPUDevice(), load_texture_info(), tex_alloc(), and ~CPUDevice().


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