26 #ifndef OPENCLKERNEL_H
28 #define OPENCLKERNEL_H
30 #include "graleconfig.h"
32 #ifdef GRALECONFIG_SUPPORT_OPENCL
34 #include <errut/errorbase.h>
35 #ifdef GRALECONFIG_OPENCL_OPENCL_CL_H
36 #include <OpenCL/cl.h>
39 #endif // GRALECONFIG_OPENCL_OPENCL_CL_H
45 class GRALE_IMPORTEXPORT OpenCLKernel :
public errut::ErrorBase
52 bool loadKernel(
const std::string &program,
const std::string &kernelName, std::string &failLog);
55 cl_context getContext() {
return m_context; }
56 cl_kernel getKernel() {
return m_kernel; }
57 cl_command_queue getCommandQueue() {
return m_queue; }
59 static std::string getCLErrorString(
int errNum);
63 std::string m_currentProgram, m_currentKernel;
66 cl_command_queue m_queue;
69 cl_device_id *m_pDevices;
75 #endif // GRALECONFIG_SUPPORT_OPENCL
77 #endif // OPENCLKERNEL_H