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程序的一部分。