Blender V2.61 - r43446
Public Member Functions | Public Attributes

CPUDevice Class Reference

Inheritance diagram for CPUDevice:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CPUDevice (int threads_num)
 ~CPUDevice ()
bool support_full_kernel ()
string description ()
void mem_alloc (device_memory &mem, MemoryType type)
void mem_copy_to (device_memory &mem)
void mem_copy_from (device_memory &mem, int y, int w, int h, int elem)
void mem_zero (device_memory &mem)
void mem_free (device_memory &mem)
void const_copy_to (const char *name, void *host, size_t size)
void tex_alloc (const char *name, device_memory &mem, bool interpolation, bool periodic)
void tex_free (device_memory &mem)
void * osl_memory ()
void thread_run (int t)
void thread_path_trace (DeviceTask &task)
void thread_tonemap (DeviceTask &task)
void thread_shader (DeviceTask &task)
void task_add (DeviceTask &task)
void task_wait ()
void task_cancel ()

Public Attributes

vector< thread * > threads
ThreadQueue< DeviceTasktasks
KernelGlobals * kg

Detailed Description

Definition at line 40 of file device_cpu.cpp.


Constructor & Destructor Documentation

CPUDevice::CPUDevice ( int  threads_num) [inline]
CPUDevice::~CPUDevice ( ) [inline]

Definition at line 63 of file device_cpu.cpp.

References kernel_globals_free(), kg, ThreadQueue< T >::stop(), tasks, and threads.


Member Function Documentation

void CPUDevice::const_copy_to ( const char *  name,
void *  host,
size_t  size 
) [inline, virtual]

Implements Device.

Definition at line 110 of file device_cpu.cpp.

References kernel_const_copy(), and kg.

string CPUDevice::description ( ) [inline, virtual]

Implements Device.

Definition at line 80 of file device_cpu.cpp.

References system_cpu_brand_string().

void CPUDevice::mem_alloc ( device_memory mem,
MemoryType  type 
) [inline, virtual]

Implements Device.

Definition at line 85 of file device_cpu.cpp.

References device_memory::data_pointer, and device_memory::device_pointer.

void CPUDevice::mem_copy_from ( device_memory mem,
int  y,
int  w,
int  h,
int  elem 
) [inline, virtual]

Implements Device.

Definition at line 95 of file device_cpu.cpp.

void CPUDevice::mem_copy_to ( device_memory mem) [inline, virtual]

Implements Device.

Definition at line 90 of file device_cpu.cpp.

void CPUDevice::mem_free ( device_memory mem) [inline, virtual]

Implements Device.

Definition at line 105 of file device_cpu.cpp.

References device_memory::device_pointer.

void CPUDevice::mem_zero ( device_memory mem) [inline, virtual]

Implements Device.

Definition at line 100 of file device_cpu.cpp.

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

void* CPUDevice::osl_memory ( ) [inline, virtual]

Reimplemented from Device.

Definition at line 126 of file device_cpu.cpp.

References kernel_osl_memory(), kg, and NULL.

bool CPUDevice::support_full_kernel ( ) [inline, virtual]

Implements Device.

Definition at line 75 of file device_cpu.cpp.

void CPUDevice::task_add ( DeviceTask task) [inline, virtual]

Implements Device.

Definition at line 243 of file device_cpu.cpp.

References DeviceTask::split(), tasks, and threads.

void CPUDevice::task_cancel ( ) [inline, virtual]

Implements Device.

Definition at line 255 of file device_cpu.cpp.

References ThreadQueue< T >::cancel(), and tasks.

void CPUDevice::task_wait ( ) [inline, virtual]

Implements Device.

Definition at line 250 of file device_cpu.cpp.

References tasks, and ThreadQueue< T >::wait_done().

void CPUDevice::tex_alloc ( const char *  name,
device_memory mem,
bool  interpolation,
bool  periodic 
) [inline, virtual]
void CPUDevice::tex_free ( device_memory mem) [inline, virtual]

Reimplemented from Device.

Definition at line 121 of file device_cpu.cpp.

References device_memory::device_pointer.

void CPUDevice::thread_path_trace ( DeviceTask task) [inline]
void CPUDevice::thread_run ( int  t) [inline]
void CPUDevice::thread_shader ( DeviceTask task) [inline]
void CPUDevice::thread_tonemap ( DeviceTask task) [inline]

Member Data Documentation

KernelGlobals* CPUDevice::kg
vector<thread*> CPUDevice::threads

Definition at line 43 of file device_cpu.cpp.

Referenced by CPUDevice(), task_add(), and ~CPUDevice().


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