用于创建OpenCL上下文的GLX上下文

时间:2011-12-31 18:07:12

标签: opengl opencl

问题:如何获取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。我错过了什么?

1 个答案:

答案 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