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

bubbbbbai 2023-12-19 17:08:59
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。

 

我不知道该如何解决

 

...全文
119 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

606

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧