kro*_*jew 2 c++ windows opengl nvidia
我正在使用wglCreateContextAttribsARB()函数来创建具有以下参数的OGL上下文:
const int contextAttrib[] = {
WGL_CONTEXT_MAJOR_VERSION_ARB, 4,
WGL_CONTEXT_MINOR_VERSION_ARB, 2,
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB,
#ifdef _DEBUG
WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB | WGL_CONTEXT_DEBUG_BIT_ARB,
#else
WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
#endif
0
};
mContext = wglCreateContextAttribsARB_local(mhDC, shareLists, contextAttrib);
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到一个错误 - 0xc00710dd或3221688541(由GetLastError()返回),当我尝试创建第二个上下文,它与先前成功创建的某些上下文共享数据(shareLists参数).谷歌搜索只给出了一个结果:http://software.intel.com/en-us/forums/topic/303629我在Windows 8.1上使用GeForce 680 GTX和最新的驱动程序,所以线程不是很多我们无论如何.
一个奇怪的是这个错误的再现方式.当我创建与A共享数据的上下文A和上下文B,然后C与A共享数据时,只有当B在创建C(失败)之前呈现某些内容时才会发生错误.
有谁知道可能会发生什么?
此错误可能是HRESULT/ SCODE是复合值.可以使用宏访问每个部分(严重性,设施,代码):
HRESULT_SEVERITY(0xC00710DD) = 0xC0000000 //ERROR_SEVERITY_ERROR
HRESULT_FACILITY(0xC00710DD) = 7 //FACILITY_WIN32
HRESULT_CODE(0xC00710DD) = 4317 //ERROR_INVALID_OPERATION
Run Code Online (Sandbox Code Playgroud)