From 35ac9b68deed6dc6083b11b6272af844568b8bb5 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Thu, 24 Feb 2011 19:06:54 -0500 Subject: [PATCH] Another GL interop fix attempt. --- src/wrapper/wrap_cl.hpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/wrapper/wrap_cl.hpp b/src/wrapper/wrap_cl.hpp index 5c066827..8df73a23 100644 --- a/src/wrapper/wrap_cl.hpp +++ b/src/wrapper/wrap_cl.hpp @@ -8,6 +8,9 @@ // Mac ------------------------------------------------------------------------ #include <OpenCL/opencl.h> #ifdef HAVE_GL + +#define PYOPENCL_GL_SHARING_VERSION 1 + #include <OpenGL/OpenGL.h> #include <OpenCL/cl_gl.h> #include <OpenCL/cl_gl_ext.h> @@ -15,6 +18,10 @@ #else +#if defined(cl_khr_gl_sharing) && (cl_khr_gl_sharing >= 1) +#define PYOPENCL_GL_SHARING_VERSION cl_khr_gl_sharing +#endif + // elsewhere ------------------------------------------------------------------ #include <CL/cl.h> // TBD: Nvidia used to not install cl_ext.h by default. Grr. @@ -652,18 +659,20 @@ namespace pyopencl break; } -#if defined(cl_khr_gl_sharing) && (cl_khr_gl_sharing >= 1) +#if defined(PYOPENCL_GL_SHARING_VERSION) && (PYOPENCL_GL_SHARING_VERSION >= 1) +#if defined(__APPLE__) && defined(HAVE_GL) + case CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE: +#else case CL_GL_CONTEXT_KHR: case CL_EGL_DISPLAY_KHR: case CL_GLX_DISPLAY_KHR: case CL_WGL_HDC_KHR: case CL_CGL_SHAREGROUP_KHR: -#elif defined(__APPLE__) && defined(HAVE_GL) - case CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE: #endif value = py::object(result[i+1]); break; +#endif case 0: break; @@ -714,7 +723,7 @@ namespace pyopencl props.push_back( reinterpret_cast<cl_context_properties>(value().data())); } -#if defined(cl_khr_gl_sharing) && (cl_khr_gl_sharing >= 1) +#if defined(PYOPENCL_GL_SHARING_VERSION) && (PYOPENCL_GL_SHARING_VERSION >= 1) #if defined(_WIN32) else if (prop == CL_WGL_HDC_KHR) { @@ -2961,7 +2970,7 @@ namespace pyopencl -#if defined(cl_khr_gl_sharing) && (cl_khr_gl_sharing >= 1) +#if defined(PYOPENCL_GL_SHARING_VERSION) && (PYOPENCL_GL_SHARING_VERSION >= 1) inline py::object get_gl_context_info_khr( py::object py_properties, -- GitLab