diff options
author | Rebecca N. Palmer <rebecca_palmer@zoho.com> | 2017-01-22 23:11:26 +0000 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2017-02-06 18:29:58 +0800 |
commit | 75d5f5c55fe677c7497af54104dc89500fa09cf6 (patch) | |
tree | 35adb94b471070316eabfeef2d6871d4f169d95c /src | |
parent | d9cca6a443f6da53f25a4432d84a805afd70c803 (diff) | |
download | beignet-75d5f5c55fe677c7497af54104dc89500fa09cf6.tar.gz |
Make CL-GL sharing available via ICD
Signed-off-by: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Reviewed-by: Chuanbo Weng <chuanbo.weng@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/cl_khr_icd.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/cl_khr_icd.c b/src/cl_khr_icd.c index 7b3600ca..e4daf794 100644 --- a/src/cl_khr_icd.c +++ b/src/cl_khr_icd.c @@ -18,10 +18,14 @@ #include "cl_platform_id.h" #include "CL/cl_intel.h" // for clGetKernelSubGroupInfoKHR -/* The interop functions are not implemented in Beignet */ -#define CL_GL_INTEROP(x) NULL -/* OpenCL 1.2 is not implemented in Beignet */ -#define CL_1_2_NOTYET(x) NULL +/* The interop functions are only available if sharing is enabled */ +#ifdef HAS_GL_EGL +#define CL_GL_INTEROP(x) x +#else +#define CL_GL_INTEROP(x) (void *) NULL +#endif +/* These are not yet implemented in Beignet */ +#define CL_NOTYET(x) (void *) NULL /** Return platform list through ICD interface * This code is used only if a client is linked directly against the library @@ -114,13 +118,13 @@ struct _cl_icd_dispatch const cl_khr_icd_dispatch = { clGetExtensionFunctionAddress, CL_GL_INTEROP(clCreateFromGLBuffer), CL_GL_INTEROP(clCreateFromGLTexture2D), - CL_GL_INTEROP(clCreateFromGLTexture3D), - CL_GL_INTEROP(clCreateFromGLRenderbuffer), - CL_GL_INTEROP(clGetGLObjectInfo), - CL_GL_INTEROP(clGetGLTextureInfo), + CL_NOTYET(clCreateFromGLTexture3D), + CL_NOTYET(clCreateFromGLRenderbuffer), + CL_NOTYET(clGetGLObjectInfo), + CL_NOTYET(clGetGLTextureInfo), CL_GL_INTEROP(clEnqueueAcquireGLObjects), CL_GL_INTEROP(clEnqueueReleaseGLObjects), - CL_GL_INTEROP(clGetGLContextInfoKHR), + CL_NOTYET(clGetGLContextInfoKHR), (void *) NULL, (void *) NULL, (void *) NULL, @@ -135,9 +139,9 @@ struct _cl_icd_dispatch const cl_khr_icd_dispatch = { clEnqueueReadBufferRect, clEnqueueWriteBufferRect, clEnqueueCopyBufferRect, - CL_1_2_NOTYET(clCreateSubDevicesEXT), - CL_1_2_NOTYET(clRetainDeviceEXT), - CL_1_2_NOTYET(clReleaseDeviceEXT), + CL_NOTYET(clCreateSubDevicesEXT), + CL_NOTYET(clRetainDeviceEXT), + CL_NOTYET(clReleaseDeviceEXT), #ifdef CL_VERSION_1_2 (void *) NULL, clCreateSubDevices, |