2

我正在尝试使用 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);
4

1 回答 1

2

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

于 2012-09-10T16:53:29.110 回答