CreateContext期间的BAD_CONFIG

时间:2012-08-31 21:28:43

标签: c opengl-es opengl-es-2.0

我正在尝试使用Open GLESv2创建GPGPU程序。我已经在我发现的一些演示中阐述了这个想法,现在我正在实现它。我虽然坚持创建渲染上下文。

我不需要显示任何内容,因此我创建了一个PixelBuffer Surface,然后尝试创建我的上下文。但是我的eglCreateContext正在投掷EGL_BAD_CONFIG

有人可以提出任何建议吗?我正在附上我的配置。

编辑:在我的Windows机器和模拟器上试过这个,认为它可能是VMWare和软件加速的OpenGL v2.0问题。同样的问题,EGL_BAD_CONFIG。


EGLint major_ver, minor_ver, num_configs;
EGLint error;
EGLConfig config;


EGLint config_attrib[] =
{
        EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_RED_SIZE, 5,
        EGL_BLUE_SIZE, 6,
        EGL_GREEN_SIZE, 5,
        EGL_DEPTH_SIZE, 1,
        EGL_NONE
};
EGLint context_attrib[] =
{
        EGL_CONTEXT_CLIENT_VERSION, 2,
        EGL_NONE
};

EGLint pb_attrib[] =
{
        EGL_WIDTH, 512,
        EGL_HEIGHT, 512,
        EGL_LARGEST_PBUFFER, EGL_TRUE,
        EGL_NONE
};

eglChooseConfig(ctx->egl_display_, attribute_list, &config, 1, &num_configs)

ctx->pb_surface_ = eglCreatePbufferSurface(ctx->egl_display_, config, pb_attrib);

ctx->egl_context_ = eglCreateContext(ctx->egl_display_, config, EGL_NO_CONTEXT, context_attrib);

1 个答案:

答案 0 :(得分:0)

问题是即使eglChooseConfig返回EGL_TRUE它返回0配置...确保检查返回的配置数...