Blender  V2.93
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>

Inherits blender::compositor::Device.

Public Member Functions

 OpenCLDevice (cl_context context, cl_device_id device, cl_program program, cl_int vendorId)
 constructor with opencl device More...
 
 OpenCLDevice (OpenCLDevice &&other) noexcept
 
 ~OpenCLDevice ()
 
void execute (WorkPackage *work) override
 execute a WorkPackage More...
 
cl_context getContext ()
 
cl_command_queue getQueue ()
 
cl_mem COM_clAttachMemoryBufferToKernelParameter (cl_kernel kernel, int parameterIndex, int offsetIndex, std::list< cl_mem > *cleanup, MemoryBuffer **inputMemoryBuffers, SocketReader *reader)
 
cl_mem COM_clAttachMemoryBufferToKernelParameter (cl_kernel kernel, int parameterIndex, int offsetIndex, std::list< cl_mem > *cleanup, MemoryBuffer **inputMemoryBuffers, ReadBufferOperation *reader)
 
void COM_clAttachMemoryBufferOffsetToKernelParameter (cl_kernel kernel, int offsetIndex, MemoryBuffer *memoryBuffers)
 
void COM_clAttachOutputMemoryBufferToKernelParameter (cl_kernel kernel, int parameterIndex, cl_mem clOutputMemoryBuffer)
 
void COM_clAttachSizeToKernelParameter (cl_kernel kernel, int offsetIndex, NodeOperation *operation)
 
void COM_clEnqueueRange (cl_kernel kernel, MemoryBuffer *outputMemoryBuffer)
 
void COM_clEnqueueRange (cl_kernel kernel, MemoryBuffer *outputMemoryBuffer, int offsetIndex, NodeOperation *operation)
 
cl_kernel COM_clCreateKernel (const char *kernelname, std::list< cl_kernel > *clKernelsToCleanUp)
 
- 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 * determineImageFormat (MemoryBuffer *memoryBuffer)
 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 34 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  vendorId 
)

constructor with opencl device

Parameters
context
device
program
vendorID

Definition at line 38 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 53 of file COM_OpenCLDevice.cc.

◆ ~OpenCLDevice()

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

Definition at line 63 of file COM_OpenCLDevice.cc.

Member Function Documentation

◆ COM_clAttachMemoryBufferOffsetToKernelParameter()

void blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferOffsetToKernelParameter ( cl_kernel  kernel,
int  offsetIndex,
MemoryBuffer memoryBuffers 
)

◆ COM_clAttachMemoryBufferToKernelParameter() [1/2]

cl_mem blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferToKernelParameter ( cl_kernel  kernel,
int  parameterIndex,
int  offsetIndex,
std::list< cl_mem > *  cleanup,
MemoryBuffer **  inputMemoryBuffers,
ReadBufferOperation reader 
)

◆ COM_clAttachMemoryBufferToKernelParameter() [2/2]

cl_mem blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferToKernelParameter ( cl_kernel  kernel,
int  parameterIndex,
int  offsetIndex,
std::list< cl_mem > *  cleanup,
MemoryBuffer **  inputMemoryBuffers,
SocketReader reader 
)

◆ COM_clAttachOutputMemoryBufferToKernelParameter()

void blender::compositor::OpenCLDevice::COM_clAttachOutputMemoryBufferToKernelParameter ( cl_kernel  kernel,
int  parameterIndex,
cl_mem  clOutputMemoryBuffer 
)

◆ COM_clAttachSizeToKernelParameter()

void blender::compositor::OpenCLDevice::COM_clAttachSizeToKernelParameter ( cl_kernel  kernel,
int  offsetIndex,
NodeOperation operation 
)

◆ COM_clCreateKernel()

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

◆ COM_clEnqueueRange() [1/2]

void blender::compositor::OpenCLDevice::COM_clEnqueueRange ( cl_kernel  kernel,
MemoryBuffer outputMemoryBuffer 
)

◆ COM_clEnqueueRange() [2/2]

void blender::compositor::OpenCLDevice::COM_clEnqueueRange ( cl_kernel  kernel,
MemoryBuffer outputMemoryBuffer,
int  offsetIndex,
NodeOperation operation 
)

◆ determineImageFormat()

const cl_image_format * blender::compositor::OpenCLDevice::determineImageFormat ( MemoryBuffer memoryBuffer)
static

◆ execute()

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

◆ getContext()

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

◆ getQueue()

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

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