Blender  V3.3
Public Member Functions | Static Public Member Functions | List of all members
blender::compositor::OpenCLDevice Class Reference

device representing an GPU OpenCL device. an instance of this class represents a single cl_device More...

#include <COM_OpenCLDevice.h>

Inheritance diagram for blender::compositor::OpenCLDevice:
blender::compositor::Device

Public Member Functions

 OpenCLDevice (cl_context context, cl_device_id device, cl_program program, cl_int vendor_id)
 constructor with opencl device More...
 
 OpenCLDevice (OpenCLDevice &&other) noexcept
 
 ~OpenCLDevice ()
 
void execute (WorkPackage *work) override
 execute a WorkPackage More...
 
cl_context get_context ()
 
cl_command_queue get_queue ()
 
cl_mem COM_cl_attach_memory_buffer_to_kernel_parameter (cl_kernel kernel, int parameter_index, int offset_index, std::list< cl_mem > *cleanup, MemoryBuffer **input_memory_buffers, SocketReader *reader)
 
cl_mem COM_cl_attach_memory_buffer_to_kernel_parameter (cl_kernel kernel, int parameter_index, int offset_index, std::list< cl_mem > *cleanup, MemoryBuffer **input_memory_buffers, ReadBufferOperation *reader)
 
void COM_cl_attach_memory_buffer_offset_to_kernel_parameter (cl_kernel kernel, int offset_index, MemoryBuffer *memory_buffers)
 
void COM_cl_attach_output_memory_buffer_to_kernel_parameter (cl_kernel kernel, int parameter_index, cl_mem cl_output_memory_buffer)
 
void COM_cl_attach_size_to_kernel_parameter (cl_kernel kernel, int offset_index, NodeOperation *operation)
 
void COM_cl_enqueue_range (cl_kernel kernel, MemoryBuffer *output_memory_buffer)
 
void COM_cl_enqueue_range (cl_kernel kernel, MemoryBuffer *output_memory_buffer, int offset_index, NodeOperation *operation)
 
cl_kernel COM_cl_create_kernel (const char *kernelname, std::list< cl_kernel > *cl_kernels_to_clean_up)
 
- Public Member Functions inherited from blender::compositor::Device
 Device ()=default
 
 Device (const Device &other)=delete
 
 Device (Device &&other) noexcept=default
 
Deviceoperator= (const Device &other)=delete
 
Deviceoperator= (Device &&other)=delete
 
virtual ~Device ()
 Declaration of the virtual destructor. More...
 

Static Public Member Functions

static const cl_image_format * determine_image_format (MemoryBuffer *memory_buffer)
 determine an image format More...
 

Detailed Description

device representing an GPU OpenCL device. an instance of this class represents a single cl_device

Definition at line 26 of file COM_OpenCLDevice.h.

Constructor & Destructor Documentation

◆ OpenCLDevice() [1/2]

blender::compositor::OpenCLDevice::OpenCLDevice ( cl_context  context,
cl_device_id  device,
cl_program  program,
cl_int  vendor_id 
)

constructor with opencl device

Parameters
context
device
program
vendorID

Definition at line 25 of file COM_OpenCLDevice.cc.

References blender::compositor::context, error(), and blender::compositor::program.

◆ OpenCLDevice() [2/2]

blender::compositor::OpenCLDevice::OpenCLDevice ( OpenCLDevice &&  other)
noexcept

Definition at line 40 of file COM_OpenCLDevice.cc.

◆ ~OpenCLDevice()

blender::compositor::OpenCLDevice::~OpenCLDevice ( )

Definition at line 50 of file COM_OpenCLDevice.cc.

Member Function Documentation

◆ COM_cl_attach_memory_buffer_offset_to_kernel_parameter()

void blender::compositor::OpenCLDevice::COM_cl_attach_memory_buffer_offset_to_kernel_parameter ( cl_kernel  kernel,
int  offset_index,
MemoryBuffer memory_buffers 
)

◆ COM_cl_attach_memory_buffer_to_kernel_parameter() [1/2]

cl_mem blender::compositor::OpenCLDevice::COM_cl_attach_memory_buffer_to_kernel_parameter ( cl_kernel  kernel,
int  parameter_index,
int  offset_index,
std::list< cl_mem > *  cleanup,
MemoryBuffer **  input_memory_buffers,
ReadBufferOperation reader 
)

◆ COM_cl_attach_memory_buffer_to_kernel_parameter() [2/2]

cl_mem blender::compositor::OpenCLDevice::COM_cl_attach_memory_buffer_to_kernel_parameter ( cl_kernel  kernel,
int  parameter_index,
int  offset_index,
std::list< cl_mem > *  cleanup,
MemoryBuffer **  input_memory_buffers,
SocketReader reader 
)

◆ COM_cl_attach_output_memory_buffer_to_kernel_parameter()

void blender::compositor::OpenCLDevice::COM_cl_attach_output_memory_buffer_to_kernel_parameter ( cl_kernel  kernel,
int  parameter_index,
cl_mem  cl_output_memory_buffer 
)

◆ COM_cl_attach_size_to_kernel_parameter()

void blender::compositor::OpenCLDevice::COM_cl_attach_size_to_kernel_parameter ( cl_kernel  kernel,
int  offset_index,
NodeOperation operation 
)

◆ COM_cl_create_kernel()

cl_kernel blender::compositor::OpenCLDevice::COM_cl_create_kernel ( const char *  kernelname,
std::list< cl_kernel > *  cl_kernels_to_clean_up 
)

◆ COM_cl_enqueue_range() [1/2]

void blender::compositor::OpenCLDevice::COM_cl_enqueue_range ( cl_kernel  kernel,
MemoryBuffer output_memory_buffer 
)

◆ COM_cl_enqueue_range() [2/2]

void blender::compositor::OpenCLDevice::COM_cl_enqueue_range ( cl_kernel  kernel,
MemoryBuffer output_memory_buffer,
int  offset_index,
NodeOperation operation 
)

◆ determine_image_format()

const cl_image_format * blender::compositor::OpenCLDevice::determine_image_format ( MemoryBuffer memory_buffer)
static

◆ execute()

void blender::compositor::OpenCLDevice::execute ( WorkPackage work)
overridevirtual

◆ get_context()

cl_context blender::compositor::OpenCLDevice::get_context ( )
inline

◆ get_queue()

cl_command_queue blender::compositor::OpenCLDevice::get_queue ( )
inline

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