0
当前我正在尝试获取OpenCL < - > OpenGL互操作功能。我的代码来获得一个共享上下文:在clCreateContext
与INVALID_VALUE
错误在OS X上获取当前OpenGL上下文
cl_int error = 0;
CGLContextObj glContext = CGLGetCurrentContext();
CGLShareGroupObj shareGroup = CGLGetShareGroup(glContext);
cl_context_properties props[] =
{
CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE, (cl_context_properties)shareGroup,
CL_CONTEXT_PLATFORM, (cl_context_properties)this->_clPlatform,
0
};
context = clCreateContext(props, 1, &this->_clDevice, NULL, NULL, &error);
此代码失败。我知道_clDevice
是有效的,因为使用我的OpenCL-Only-Context可以正常工作,但我发现CGLGetCurrentContext()始终返回0
。我认为这是“无效的价值”,但为什么总是0
?我是否必须手动创建上下文?我使用它作为C++/Qt程序的一部分。