简体   繁体   English

无法连接 Surface eglCreatePbufferFromClientBuffer

[英]Can not connect a Surface eglCreatePbufferFromClientBuffer

    VGint num_config;
    EGLint value;
    EGLBoolean ret;
    
    m_BackLayerBuffer = vgCreateImage(SGA_DIS_FMT_RGB565, LCD_WIDTH, LCD_HEIGHT, VG_IMAGE_QUALITY_NONANTIALIASED);
    vgClearImage(m_BackLayerBuffer, 0, 0, LCD_WIDTH, LCD_HEIGHT);
    
    m_Context = eglGetCurrentContext();
    m_Display = eglGetCurrentDisplay();
    eglGetConfigs(m_Display, NULL, NULL, &num_config);
    m_DrawSurface = eglGetCurrentSurface(EGL_DRAW);     
    
    ret = eglChooseConfig(m_Display, attribute_list, &m_Config, 1, &num_config);

    m_OffScreenContext = eglCreateContext(m_Display, m_Config, EGL_NO_CONTEXT, NULL);
    m_ImageSurface = eglCreatePbufferFromClientBuffer(m_Display, EGL_OPENVG_IMAGE, (EGLClientBuffer)m_BackLayerBuffer, m_Config, NULL);
    
    value = eglGetError();
    ret = eglMakeCurrent(m_Display, m_ImageSurface, m_ImageSurface, m_OffScreenContext);

m_ImageSurface always 0, and the error is EGL_BAD_ACCESS. m_ImageSurface 始终为 0,错误为 EGL_BAD_ACCESS。 the config is error?配置错误?

I know that, this hardware can not supoort muti context.我知道,这个硬件不能支持多上下文。 After I delete我删除后

m_OffScreenContext = eglCreateContext(m_Display, m_Config, EGL_NO_CONTEXT, NULL);

the return value is EGL_SUCCESS返回值为 EGL_SUCCESS

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM