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