Как исправить проблему 0x3009 (egl_bad_match), вызывая eglcreatepbuffersurface?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как исправить проблему 0x3009 (egl_bad_match), вызывая eglcreatepbuffersurface?

Сообщение Anonymous »

Я использую CreateOffScreensurface < /code> из Grafika: < /p>

/**
* Creates an off-screen surface.
*/
public void createOffscreenSurface(int width, int height) {
if (mEGLSurface != EGL14.EGL_NO_SURFACE) {
throw new IllegalStateException("surface already created");
}
mEGLSurface = mEglCore.createOffscreenSurface(width, height);
mWidth = width;
mHeight = height;
}

/**
* Creates an EGL surface associated with an offscreen buffer.
*/
public EGLSurface createOffscreenSurface(int width, int height) {
int[] surfaceAttribs = {
EGL14.EGL_WIDTH, width,
EGL14.EGL_HEIGHT, height,
EGL14.EGL_NONE
};
EGLSurface eglSurface = EGL14.eglCreatePbufferSurface(mEGLDisplay, mEGLConfig,
surfaceAttribs, 0);
checkEglError("eglCreatePbufferSurface");
if (eglSurface == null) {
throw new RuntimeException("surface was null");
}
return eglSurface;
}
< /code>

Он работает нормально на некоторых устройствах, но не на других устройствах. Ошибка MSG: < /p>

java.lang.RuntimeException: eglCreatePbufferSurface: EGL error: 0x3009
< /code>

Я также погуглил и получил следующую информацию: < /p>



Вам нужно настроить поверхностное представление с помощью соответствующего формата пикселя для этого телефона, который, скорее всего, Pixelformat.rgb565 (ссылка) < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /p> < /pxel < /pxel < /pxel. /> < /blockquote> < /li>

Я почти уверен, что ваша поверхность - это другой формат для фактической поверхности дисплея. (Ссылка) < /p>
< /blockquote> < /li>
< /ol>

Однако у меня нет идей, чтобы исправить это. Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/330 ... uffersurfa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»