diff --git a/src/wrapper/wrap_cl.cpp b/src/wrapper/wrap_cl.cpp index 417a383eb5a817c85ad9309abf08da8784608cc9..03e3aad066cd94ee6ea18d368baa6faa5adaf606 100644 --- a/src/wrapper/wrap_cl.cpp +++ b/src/wrapper/wrap_cl.cpp @@ -875,7 +875,7 @@ BOOST_PYTHON_MODULE(_cl) "GLBuffer", py::no_init) .def("__init__", make_constructor(create_from_gl_buffer, py::default_call_policies(), - (py::args("context", "flags" "bufobj")))) + (py::args("context", "flags", "bufobj")))) .def("get_gl_object_info", get_gl_object_info) ; } @@ -886,7 +886,7 @@ BOOST_PYTHON_MODULE(_cl) "GLRenderBuffer", py::no_init) .def("__init__", make_constructor(create_from_gl_renderbuffer, py::default_call_policies(), - (py::args("context", "flags" "bufobj")))) + (py::args("context", "flags", "bufobj")))) .def("get_gl_object_info", get_gl_object_info) ; } diff --git a/src/wrapper/wrap_cl.hpp b/src/wrapper/wrap_cl.hpp index 3fbcfd96a6e06c1509ec4707282776348428c69a..8113fe9658e60e71472ecb4a7ac9449f9521716c 100644 --- a/src/wrapper/wrap_cl.hpp +++ b/src/wrapper/wrap_cl.hpp @@ -679,20 +679,24 @@ namespace pyopencl py::extract<cl_context_properties>(prop_tuple[0]); props.push_back(prop); - if (prop == CL_CONTEXT_PLATFORM + if (prop == CL_CONTEXT_PLATFORM) + { + py::extract<const platform &> value(prop_tuple[1]); + props.push_back( + reinterpret_cast<cl_context_properties>(value().data())); + } #if defined(cl_khr_gl_sharing) && (cl_khr_gl_sharing >= 1) - || prop == CL_GL_CONTEXT_KHR + else if (prop == CL_GL_CONTEXT_KHR || prop == CL_EGL_DISPLAY_KHR || prop == CL_GLX_DISPLAY_KHR || prop == CL_WGL_HDC_KHR || prop == CL_CGL_SHAREGROUP_KHR + ) + { + py::extract<cl_context_properties> value(prop_tuple[1]); + props.push_back(value); + } #endif - ) - { - py::extract<const platform &> value(prop_tuple[1]); - props.push_back( - reinterpret_cast<cl_context_properties>(value().data())); - } else throw error("Context", CL_INVALID_VALUE, "invalid context property"); }