606
社区成员
发帖
与我相关
我的任务
分享
cl_context EditorWidget::CreateContext()
{
cl_platform_id platform;
cl_uint err;
errNum = clGetPlatformIDs(1, &platform,&err);
cl_device_id oclDevice = NULL;
errNum = clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, &oclDevice, NULL);
cl_context_properties properties[] =
{
CL_GL_CONTEXT_KHR ,(cl_context_properties)wglGetCurrentContext(),
CL_WGL_HDC_KHR ,(cl_context_properties)wglGetCurrentDC(),
0
};
context = clCreateContext(properties, 1, &oclDevice, NULL, NULL, &errNum);
return context;
}
平台是vs+qt,正在搞一个opencl共享opengl缓存的相关demo
整体是执行成功了的,但是只能执行一次,
我第二次不管是只调用处理内核计算的代码 或者从头来一遍,都会失败。
重新创建上下文时就会在上述代码中的clCreateContext返回错误码-9999;只调用处理内核计算的 就会在clFinish返回-36。
我不知道该如何解决