summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRebecca N. Palmer <rebecca_palmer@zoho.com>2017-01-22 23:11:26 +0000
committerYang Rong <rong.r.yang@intel.com>2017-02-06 18:29:58 +0800
commit75d5f5c55fe677c7497af54104dc89500fa09cf6 (patch)
tree35adb94b471070316eabfeef2d6871d4f169d95c /src
parentd9cca6a443f6da53f25a4432d84a805afd70c803 (diff)
downloadbeignet-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.c28
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,