问题:如何获取GLXContext并将其传递给clCreateContextFromType?
的信息:
我正在学习openGL CL互操作的工作原理。我已经了解了openCL的工作原理以及openGl的工作原理,现在我正处于让它们协同工作的最后一步。我使用过剩,但后来开始使用GLX,因为我需要一个GL上下文来让CL能够从中创建它的上下文。我将我的GLXContext保存为全局变量,并将其传递给clCreateContextFromType,我在编译时得到这个:
error: invalid conversion from ‘GLXContext {aka __GLXcontextRec*}’ to ‘cl_context_properties {aka long int}’
所以我跑遍了互联网,从这个blog找到了一些建议,并制作了一个包含{CL_GLX_DISPLAY_KHR,glc}的cl_context_properties列表。它抛出了完全相同的错误。我在这里错过了什么?显然需要发生一些事情才能使这个GLX上下文适合openCL。我错过了什么?
答案 0 :(得分:3)
我明白了:
cl_context_properties props[] =
{
CL_GL_CONTEXT_KHR, (cl_context_properties)glXGetCurrentContext(),
CL_GLX_DISPLAY_KHR, (cl_context_properties)glXGetCurrentDisplay(),
CL_CONTEXT_PLATFORM, (cl_context_properties)(platform_id),
0
};
为什么它有效我真的不知道。但我发现它here。