重复创建上下文会返回-9999

bubbbbbai bubbbbbai 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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。

 

我不知道该如何解决

 

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部