OpenGL上下文创建时出现未记录错误

3
我正在使用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);

很不幸,当我尝试创建一个与早先成功创建的某个上下文共享数据的第二个上下文时(shareLists参数),我遇到了错误-0xc00710dd或3221688541(由GetLastError()返回)。通过谷歌搜索只得到了一个结果:http://software.intel.com/en-us/forums/topic/303629 我在Windows 8.1上使用最新版本的GeForce 680 GTX驱动程序,所以这个主题对我们来说并没有太多用处。

奇怪的是这个错误的复现方式。当我创建与A共享数据的上下文A和上下文B,然后再创建共享A的C时,只有当B在创建C之前渲染东西时(失败),才会出现错误。

有人知道可能发生了什么吗?


我知道这很老了,但是我遇到了同样的错误。你知道是什么原因吗? - tuket
1个回答

7

这个错误可能是一个复合值 HRESULT / SCODE。每个部分(严重性、设施、代码)都可以通过宏访问:

HRESULT_SEVERITY(0xC00710DD) = 0xC0000000 //ERROR_SEVERITY_ERROR  
HRESULT_FACILITY(0xC00710DD) = 7          //FACILITY_WIN32
HRESULT_CODE(0xC00710DD)     = 4317       //ERROR_INVALID_OPERATION

谢谢,明白了。 - krojew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接