Blender  V3.3
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
CPUDevice Class Reference

#include <device_impl.h>

Inheritance diagram for CPUDevice:
Device

Public Member Functions

 CPUDevice (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_)
 
 ~CPUDevice ()
 
virtual BVHLayoutMask get_bvh_layout_mask () const override
 
bool load_texture_info ()
 
virtual void mem_alloc (device_memory &mem) override
 
virtual void mem_copy_to (device_memory &mem) override
 
virtual void mem_copy_from (device_memory &mem, size_t y, size_t w, size_t h, size_t elem) override
 
virtual void mem_zero (device_memory &mem) override
 
virtual void mem_free (device_memory &mem) override
 
virtual device_ptr mem_alloc_sub_ptr (device_memory &mem, size_t offset, size_t) override
 
virtual void const_copy_to (const char *name, void *host, 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
 
virtual void get_cpu_kernel_thread_globals (vector< CPUKernelThreadGlobals > &kernel_thread_globals) override
 
virtual voidget_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 unique_ptr< DeviceQueuegpu_queue_create ()
 
virtual void release_optix_bvh (BVH *)
 
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 should_use_graphics_interop ()
 
virtual bool denoise_buffer (const DeviceDenoiseTask &)
 
virtual DeviceQueueget_denoise_queue ()
 
virtual void foreach_device (const 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
 

Protected Member Functions

virtual bool load_kernels (uint) override
 
- Protected Member Functions inherited from Device
 Device (const DeviceInfo &info_, Stats &stats_, Profiler &profiler_)
 
virtual void mem_free_sub_ptr (device_ptr)
 

Additional Inherited Members

- Static Public Member Functions inherited from Device
static const CPUKernelsget_cpu_kernels ()
 
static Devicecreate (const DeviceInfo &info, Stats &stats, Profiler &profiler)
 
static DeviceType type_from_string (const char *name)
 
static string string_from_type (DeviceType type)
 
static vector< DeviceTypeavailable_types ()
 
static vector< DeviceInfoavailable_devices (uint device_type_mask=DEVICE_MASK_ALL)
 
static DeviceInfo dummy_device (const string &error_msg="")
 
static string device_capabilities (uint device_type_mask=DEVICE_MASK_ALL)
 
static DeviceInfo get_multi_device (const vector< DeviceInfo > &subdevices, 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 32 of file cpu/device_impl.h.

Constructor & Destructor Documentation

◆ CPUDevice()

CCL_NAMESPACE_BEGIN CPUDevice::CPUDevice ( const DeviceInfo info_,
Stats stats_,
Profiler profiler_ 
)

◆ ~CPUDevice()

CPUDevice::~CPUDevice ( )

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

References device_vector< T >::free(), and texture_info.

Member Function Documentation

◆ build_bvh()

void CPUDevice::build_bvh ( BVH bvh,
Progress progress,
bool  refit 
)
overridevirtual

◆ const_copy_to()

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

Implements Device.

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

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

◆ get_bvh_layout_mask()

BVHLayoutMask CPUDevice::get_bvh_layout_mask ( ) const
overridevirtual

Implements Device.

Definition at line 83 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< CPUKernelThreadGlobals > &  kernel_thread_globals)
overridevirtual

◆ get_cpu_osl_memory()

void * CPUDevice::get_cpu_osl_memory ( )
overridevirtual

Reimplemented from Device.

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

References NULL.

Referenced by get_cpu_kernel_thread_globals().

◆ global_alloc()

void CPUDevice::global_alloc ( device_memory mem)

◆ global_free()

void CPUDevice::global_free ( device_memory mem)

◆ load_kernels()

bool CPUDevice::load_kernels ( uint  uint)
overrideprotectedvirtual

Reimplemented from Device.

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

◆ load_texture_info()

bool CPUDevice::load_texture_info ( )

◆ mem_alloc()

void CPUDevice::mem_alloc ( device_memory mem)
overridevirtual

◆ mem_alloc_sub_ptr()

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

Reimplemented from Device.

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

References device_memory::device_pointer, device_memory::memory_elements_size(), and offset.

◆ mem_copy_from()

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

Implements Device.

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

◆ mem_copy_to()

void CPUDevice::mem_copy_to ( device_memory mem)
overridevirtual

◆ mem_free()

void CPUDevice::mem_free ( device_memory mem)
overridevirtual

◆ mem_zero()

void CPUDevice::mem_zero ( device_memory mem)
overridevirtual

Implements Device.

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

References device_memory::device_pointer, mem_alloc(), and device_memory::memory_size().

◆ tex_alloc()

void CPUDevice::tex_alloc ( device_texture mem)

◆ tex_free()

void CPUDevice::tex_free ( device_texture mem)

Member Data Documentation

◆ kernel_globals

KernelGlobalsCPU CPUDevice::kernel_globals

◆ need_texture_info

bool CPUDevice::need_texture_info

Definition at line 37 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 36 of file cpu/device_impl.h.

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


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