Мое приложение в Google Play вызывает эту ошибку на клиентских устройствах (но не на моих тестовых устройствах и не на устройствах с предварительными отчетами Google).
EGL_BAD_CONFIG (недопустимая конфигурация буфера кадра EGL)
При выполнении этого звонка: eglCreateContext( display, config, NULL, contextAttribs );
Атрибуты, которые я передаю:
const EGLint contextAttribs[] =
{
EGL_CONTEXT_CLIENT_VERSION, 3,
EGL_NONE
};
Отображение успешно восстановлено следующим образом:
EGLDisplay display = eglGetDisplay( EGL_DEFAULT_DISPLAY );
Конфигурация была успешно получена с помощью: eglChooseConfig()
с использованием этих атрибутов ...
const EGLint attribs[] = {
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_DEPTH_SIZE, withDepthBuffer ? 16 : 0,
EGL_BLUE_SIZE, 8,
EGL_GREEN_SIZE, 8,
EGL_RED_SIZE, 8,
EGL_NONE
};
... и эти резервные атрибуты, если ни один из них не соответствует:
const EGLint attribs_fallback[] = {
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
EGL_DEPTH_SIZE, 16,
EGL_BLUE_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_RED_SIZE, 5,
EGL_NONE
};
После eglChooseConfig()
предпочтительного или резервного конфигурации значение numConfigs должно быть не менее 1.
Кроме того, предыдущий вызов eglCreateWindowSurface()
также завершается успешно.
Это с:
EGL VENDOR : Android
EGL ВЕРСИЯ : 1.4 Android META-EGL
Что вызывает сбой некоторых устройств при вызове eglCreateContext ()?
А если он недействителен, почему eglChooseConfig возвращает неправильную конфигурацию?