CVOpenGLTextureCacheCreate kCVReturnAllocationFailed

CVOpenGLTextureCacheCreate kCVReturnAllocationFailed

我正在尝试创建一个像这样的 CVOpenGLTextureCache..

  NSOpenGLPixelFormatAttribute attrs[] =
    {
        NSOpenGLPFADoubleBuffer,
        NSOpenGLPFADepthSize, 32,
        NSOpenGLPFAOpenGLProfile,
        NSOpenGLProfileVersion3_2Core,
        0
    };
    NSOpenGLPixelFormat *pf = [[NSOpenGLPixelFormat alloc] initWithAttributes:attrs];

    if (!pf)
    {
        NSLog(@"No OpenGL pixel format");
    }
    m_glesCtx  = [[NSOpenGLContext alloc] initWithFormat:pf shareContext:nil];
    [(NSOpenGLContext*)m_glesCtx makeCurrentContext];

    CVReturn returnvalue = CVOpenGLTextureCacheCreate(kCFAllocatorDefault, NULL, (CGLContextObj)this->m_glesCtx, [pf CGLPixelFormatObj], NULL, &this->m_textureCache);

但它总是失败并出现错误 -6662,即 kCVReturnAllocationFailed。 任何在 mac OpenGL 方面具有一定专业知识的人都可以帮助我找出它失败的原因..

提前感谢您的帮助..

我的错误.. 更改了语句

 CVReturn returnvalue = CVOpenGLTextureCacheCreate(kCFAllocatorDefault, NULL,(CGLContextObj)this->m_glesCtx, [pf CGLPixelFormatObj], NULL, &this->m_textureCache);

 CVOpenGLTextureCacheCreate(kCFAllocatorDefault, 0, [(NSOpenGLContext*)this->m_glesCtx CGLContextObj], [pf CGLPixelFormatObj], 0, &this->m_textureCache);

一切都很顺利。