am 3743559d
: Merge change I28023911 into eclair-mr2
Merge commit '3743559db03645ef7d319c0344238c335a315b65' into eclair-mr2-plus-aosp * commit '3743559db03645ef7d319c0344238c335a315b65': Add additional error checking of EGL function calls.
This commit is contained in:
@ -682,7 +682,10 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
|
|||||||
}
|
}
|
||||||
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
|
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
|
||||||
int[] num_config = new int[1];
|
int[] num_config = new int[1];
|
||||||
egl.eglChooseConfig(display, mConfigSpec, null, 0, num_config);
|
if (!egl.eglChooseConfig(display, mConfigSpec, null, 0,
|
||||||
|
num_config)) {
|
||||||
|
throw new IllegalArgumentException("eglChooseConfig failed");
|
||||||
|
}
|
||||||
|
|
||||||
int numConfigs = num_config[0];
|
int numConfigs = num_config[0];
|
||||||
|
|
||||||
@ -692,8 +695,10 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
|
|||||||
}
|
}
|
||||||
|
|
||||||
EGLConfig[] configs = new EGLConfig[numConfigs];
|
EGLConfig[] configs = new EGLConfig[numConfigs];
|
||||||
egl.eglChooseConfig(display, mConfigSpec, configs, numConfigs,
|
if (!egl.eglChooseConfig(display, mConfigSpec, configs, numConfigs,
|
||||||
num_config);
|
num_config)) {
|
||||||
|
throw new IllegalArgumentException("eglChooseConfig#2 failed");
|
||||||
|
}
|
||||||
EGLConfig config = chooseConfig(egl, display, configs);
|
EGLConfig config = chooseConfig(egl, display, configs);
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
throw new IllegalArgumentException("No config chosen");
|
throw new IllegalArgumentException("No config chosen");
|
||||||
@ -818,11 +823,17 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
|
|||||||
*/
|
*/
|
||||||
mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
|
mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
|
||||||
|
|
||||||
|
if (mEglDisplay == EGL10.EGL_NO_DISPLAY) {
|
||||||
|
throw new RuntimeException("eglGetDisplay failed");
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We can now initialize EGL for that display
|
* We can now initialize EGL for that display
|
||||||
*/
|
*/
|
||||||
int[] version = new int[2];
|
int[] version = new int[2];
|
||||||
mEgl.eglInitialize(mEglDisplay, version);
|
if(!mEgl.eglInitialize(mEglDisplay, version)) {
|
||||||
|
throw new RuntimeException("eglInitialize failed");
|
||||||
|
}
|
||||||
mEglConfig = mEGLConfigChooser.chooseConfig(mEgl, mEglDisplay);
|
mEglConfig = mEGLConfigChooser.chooseConfig(mEgl, mEglDisplay);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user