diff options
author | Jukka Jylänki <jujjyl@gmail.com> | 2013-08-08 23:32:21 +0300 |
---|---|---|
committer | Jukka Jylänki <jujjyl@gmail.com> | 2013-08-08 23:43:35 +0300 |
commit | 75760c7bffe20a62219fdb9ade9864b5f15ec58e (patch) | |
tree | f209fc7a67bf24ed5ea26427c2836f5770d9a156 /src/library_egl.js | |
parent | d92a3ab59d8446d3e2fc7e38a7090f097bc5af82 (diff) |
If WebGL context creation fails, return 0 in glutCreateWindow and EGL_NO_CONTEXT in eglCreateContext to allow the user to detect whether WebGL support is enabled in the browser or not.
Diffstat (limited to 'src/library_egl.js')
-rw-r--r-- | src/library_egl.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/library_egl.js b/src/library_egl.js index 0ccb13e6..0e96e92f 100644 --- a/src/library_egl.js +++ b/src/library_egl.js @@ -260,8 +260,13 @@ var LibraryEGL = { } EGL.windowID = _glutCreateWindow(); - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 62004; // Magic ID for Emscripten EGLContext + if (EGL.windowID != 0) { + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 62004; // Magic ID for Emscripten EGLContext + } else { + EGL.setErrorCode(0x3009 /* EGL_BAD_MATCH */); // By the EGL 1.4 spec, an implementation that does not support GLES2 (WebGL in this case), this error code is set. + return 0; /* EGL_NO_CONTEXT */ + } }, eglDestroyContext__deps: ['glutDestroyWindow', '$GL'], |