18 class ReadBufferOperation;
46 cl_command_queue queue_;
92 std::list<cl_mem> *cleanup,
98 std::list<cl_mem> *cleanup,
106 cl_mem cl_output_memory_buffer);
116 std::list<cl_kernel> *cl_kernels_to_clean_up);
Abstract class for device implementations to be used by the Compositor. devices are queried,...
a MemoryBuffer contains access to the data of a chunk
NodeOperation contains calculation logic.
device representing an GPU OpenCL device. an instance of this class represents a single cl_device
void COM_cl_attach_size_to_kernel_parameter(cl_kernel kernel, int offset_index, NodeOperation *operation)
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)
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_enqueue_range(cl_kernel kernel, MemoryBuffer *output_memory_buffer)
cl_command_queue get_queue()
cl_kernel COM_cl_create_kernel(const char *kernelname, std::list< cl_kernel > *cl_kernels_to_clean_up)
static const cl_image_format * determine_image_format(MemoryBuffer *memory_buffer)
determine an image format
void COM_cl_attach_memory_buffer_offset_to_kernel_parameter(cl_kernel kernel, int offset_index, MemoryBuffer *memory_buffers)
OpenCLDevice(cl_context context, cl_device_id device, cl_program program, cl_int vendor_id)
constructor with opencl device
void execute(WorkPackage *work) override
execute a WorkPackage
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext int kernel
NodeOperation SocketReader
contains data about work that can be scheduled