diff --git a/cl/cl.go b/cl/cl.go index 7506873..11ee036 100644 --- a/cl/cl.go +++ b/cl/cl.go @@ -16,7 +16,12 @@ in the Go standard packages. */ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif +// #cgo linux LDFLAGS: -lOpenCL // #cgo darwin LDFLAGS: -framework OpenCL import "C" import "errors" diff --git a/cl/context.go b/cl/context.go index 9693f48..086aae7 100644 --- a/cl/context.go +++ b/cl/context.go @@ -1,7 +1,11 @@ package cl // #include -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/device.go b/cl/device.go index a3537b5..f8b6408 100644 --- a/cl/device.go +++ b/cl/device.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/device12.go b/cl/device12.go index 2c2a014..9af9c97 100644 --- a/cl/device12.go +++ b/cl/device12.go @@ -2,7 +2,11 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import "unsafe" diff --git a/cl/image.go b/cl/image.go index 24b445a..a1c4cde 100644 --- a/cl/image.go +++ b/cl/image.go @@ -2,7 +2,11 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( "image" diff --git a/cl/kernel.go b/cl/kernel.go index 0b26eea..de69336 100644 --- a/cl/kernel.go +++ b/cl/kernel.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/kernel12.go b/cl/kernel12.go index 4968d6b..fd0300d 100644 --- a/cl/kernel12.go +++ b/cl/kernel12.go @@ -2,7 +2,11 @@ package cl -// #import "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import "unsafe" diff --git a/cl/platform.go b/cl/platform.go index b221104..a516318 100644 --- a/cl/platform.go +++ b/cl/platform.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/program.go b/cl/program.go index 89eb3a7..6ebdb9d 100644 --- a/cl/program.go +++ b/cl/program.go @@ -1,7 +1,11 @@ package cl // #include -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( @@ -40,7 +44,7 @@ func (p *Program) BuildProgram(devices []*Device, options string) error { } var deviceList []C.cl_device_id var deviceListPtr *C.cl_device_id - numDevices := C.cl_uint(0) + numDevices := C.cl_uint(len(devices)) if devices != nil && len(devices) > 0 { deviceList = buildDeviceIdList(devices) deviceListPtr = &deviceList[0] diff --git a/cl/queue.go b/cl/queue.go index 4ad1a95..8a97cfa 100644 --- a/cl/queue.go +++ b/cl/queue.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/queue12.go b/cl/queue12.go index 47e7911..d818fcc 100644 --- a/cl/queue12.go +++ b/cl/queue12.go @@ -2,7 +2,11 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import diff --git a/cl/types.go b/cl/types.go index 4045d32..72079e7 100644 --- a/cl/types.go +++ b/cl/types.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" import ( diff --git a/cl/types12.go b/cl/types12.go index ba86d6d..e2d8105 100644 --- a/cl/types12.go +++ b/cl/types12.go @@ -2,7 +2,11 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" const ( diff --git a/cl/types_darwin.go b/cl/types_darwin.go index dcffc71..6bfc7c2 100644 --- a/cl/types_darwin.go +++ b/cl/types_darwin.go @@ -1,6 +1,10 @@ package cl -// #include "cl.h" +// #ifdef __APPLE__ +// #include "OpenCL/opencl.h" +// #else +// #include "CL/opencl.h" +// #endif import "C" // Extension: cl_APPLE_fixed_alpha_channel_orders