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

CUDADevice Class Reference

Inheritance diagram for CUDADevice:
Inheritance graph
[legend]

List of all members.

Classes

struct  PixelMem

Public Member Functions

CUdeviceptr cuda_device_ptr (device_ptr mem)
const char * cuda_error_string (CUresult result)
bool cuda_error (CUresult result)
void cuda_error (const string &message)
void cuda_push_context ()
void cuda_pop_context ()
 CUDADevice (DeviceInfo &info, bool background_)
 ~CUDADevice ()
bool support_full_kernel ()
string description ()
bool support_device (bool experimental)
string compile_kernel ()
bool load_kernels (bool experimental)
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 path_trace (DeviceTask &task)
void tonemap (DeviceTask &task)
void shader (DeviceTask &task)
CUdeviceptr map_pixels (device_ptr mem)
void unmap_pixels (device_ptr mem)
void pixels_alloc (device_memory &mem)
void pixels_copy_from (device_memory &mem, int y, int w, int h)
void pixels_free (device_memory &mem)
void draw_pixels (device_memory &mem, int y, int w, int h, int dy, int width, int height, bool transparent)
void task_add (DeviceTask &task)
void task_wait ()
void task_cancel ()

Static Public Member Functions

static int cuda_align_up (int &offset, int alignment)

Public Attributes

CUdevice cuDevice
CUcontext cuContext
CUmodule cuModule
map< device_ptr, bool > tex_interp_map
int cuDevId
map< device_ptr, PixelMempixel_mem_map

Detailed Description

Definition at line 37 of file device_cuda.cpp.


Constructor & Destructor Documentation

CUDADevice::CUDADevice ( DeviceInfo info,
bool  background_ 
) [inline]
CUDADevice::~CUDADevice ( ) [inline]

Definition at line 191 of file device_cuda.cpp.

References cuContext, cuCtxDetach, cuda_assert, and cuda_push_context().


Member Function Documentation

string CUDADevice::compile_kernel ( ) [inline]
void CUDADevice::const_copy_to ( const char *  name,
void *  host,
size_t  size 
) [inline, virtual]
static int CUDADevice::cuda_align_up ( int &  offset,
int  alignment 
) [inline, static]

Definition at line 109 of file device_cuda.cpp.

Referenced by path_trace(), shader(), and tonemap().

CUdeviceptr CUDADevice::cuda_device_ptr ( device_ptr  mem) [inline]
bool CUDADevice::cuda_error ( CUresult  result) [inline]
void CUDADevice::cuda_error ( const string &  message) [inline]

Definition at line 145 of file device_cuda.cpp.

References Device::error_msg.

const char* CUDADevice::cuda_error_string ( CUresult  result) [inline]
void CUDADevice::cuda_pop_context ( ) [inline]
void CUDADevice::cuda_push_context ( ) [inline]
string CUDADevice::description ( ) [inline, virtual]

Implements Device.

Definition at line 205 of file device_cuda.cpp.

References cuda_pop_context(), cuda_push_context(), cuDeviceGetName, and cuDevId.

void CUDADevice::draw_pixels ( device_memory mem,
int  y,
int  w,
int  h,
int  dy,
int  width,
int  height,
bool  transparent 
) [inline, virtual]
bool CUDADevice::load_kernels ( bool  experimental) [inline, virtual]
CUdeviceptr CUDADevice::map_pixels ( device_ptr  mem) [inline]
void CUDADevice::mem_alloc ( device_memory mem,
MemoryType  type 
) [inline, virtual]
void CUDADevice::mem_copy_from ( device_memory mem,
int  y,
int  w,
int  h,
int  elem 
) [inline, virtual]
void CUDADevice::mem_copy_to ( device_memory mem) [inline, virtual]
void CUDADevice::mem_free ( device_memory mem) [inline, virtual]
void CUDADevice::mem_zero ( device_memory mem) [inline, virtual]
void CUDADevice::path_trace ( DeviceTask task) [inline]
void CUDADevice::pixels_alloc ( device_memory mem) [inline, virtual]
void CUDADevice::pixels_copy_from ( device_memory mem,
int  y,
int  w,
int  h 
) [inline, virtual]
void CUDADevice::pixels_free ( device_memory mem) [inline, virtual]
void CUDADevice::shader ( DeviceTask task) [inline]
bool CUDADevice::support_device ( bool  experimental) [inline]

Definition at line 217 of file device_cuda.cpp.

References cuda_error(), cuDeviceComputeCapability, cuDevId, and string_printf().

Referenced by load_kernels().

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

Implements Device.

Definition at line 197 of file device_cuda.cpp.

References cuDeviceComputeCapability, and cuDevId.

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

Implements Device.

Definition at line 849 of file device_cuda.cpp.

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

Implements Device.

Definition at line 840 of file device_cuda.cpp.

References cuCtxSynchronize, cuda_assert, cuda_pop_context(), and cuda_push_context().

void CUDADevice::tex_alloc ( const char *  name,
device_memory mem,
bool  interpolation,
bool  periodic 
) [inline, virtual]
void CUDADevice::tex_free ( device_memory mem) [inline, virtual]
void CUDADevice::tonemap ( DeviceTask task) [inline]
void CUDADevice::unmap_pixels ( device_ptr  mem) [inline]

Member Data Documentation

Definition at line 41 of file device_cuda.cpp.

Referenced by cuda_push_context(), CUDADevice(), load_kernels(), and ~CUDADevice().

Definition at line 40 of file device_cuda.cpp.

Referenced by CUDADevice().

Definition at line 42 of file device_cuda.cpp.

Referenced by const_copy_to(), load_kernels(), path_trace(), shader(), tex_alloc(), and tonemap().

Definition at line 43 of file device_cuda.cpp.

Referenced by tex_alloc(), and tex_free().


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