aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_browser.js1
-rw-r--r--src/library_gl.js29
2 files changed, 16 insertions, 14 deletions
diff --git a/src/library_browser.js b/src/library_browser.js
index 75dfb9d0..db012e1d 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -86,6 +86,7 @@ mergeInto(LibraryManager.library, {
requestFullScreen: function() {
var canvas = Module.canvas;
function fullScreenChange() {
+ if (Module['onFullScreen']) Module['onFullScreen']();
if (document['webkitFullScreenElement'] === canvas ||
document['mozFullScreenElement'] === canvas ||
document['fullScreenElement'] === canvas) {
diff --git a/src/library_gl.js b/src/library_gl.js
index 68f8248b..08cb7511 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -294,7 +294,7 @@ var LibraryGL = {
} else {
data = null;
}
- Module.ctx.compressedTexImage2D(target, level, internalformat, width, height, border, data);
+ Module.ctx['compressedTexImage2D'](target, level, internalformat, width, height, border, data);
},
glCompressedTexSubImage2D: function(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
@@ -303,7 +303,7 @@ var LibraryGL = {
} else {
data = null;
}
- Module.ctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, data);
+ Module.ctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, data);
},
glTexImage2D: function(target, level, internalformat, width, height, border, format, type, pixels) {
@@ -917,27 +917,28 @@ var LibraryGL = {
// Add some emulation workarounds
Module.printErr('WARNING: using emscripten GL emulation. This is a collection of limited workarounds, do not expect it to work');
- // XXX some of these ignored capabilities may lead to incorrect rendering, if we do not emulate them in shaders
- var ignoredCapabilities = {
- 0x0B20: 1, // GL_LINE_SMOOTH
- 0x0B60: 1, // GL_FOG
- 0x0BA1: 1, // GL_NORMALIZE
- 0x0C60: 1, // GL_TEXTURE_GEN_S
- 0x0C61: 1, // GL_TEXTURE_GEN_T
- 0x0DE1: 1, // GL_TEXTURE_2D
- 0x8513: 1, // GL_TEXTURE_CUBE_MAP
- 0x2A02: 1 // GL_POLYGON_OFFSET_LINE
+ // XXX some of the capabilities we don't support may lead to incorrect rendering, if we do not emulate them in shaders
+ var validCapabilities = {
+ 0x0B44: 1, // GL_CULL_FACE
+ 0x0BE2: 1, // GL_BLEND
+ 0x0BD0: 1, // GL_DITHER,
+ 0x0B90: 1, // GL_STENCIL_TEST
+ 0x0B71: 1, // GL_DEPTH_TEST
+ 0x0C11: 1, // GL_SCISSOR_TEST
+ 0x8037: 1, // GL_POLYGON_OFFSET_FILL
+ 0x809E: 1, // GL_SAMPLE_ALPHA_TO_COVERAGE
+ 0x80A0: 1 // GL_SAMPLE_COVERAGE
};
_glEnable = function(cap) {
// Clean up the renderer on any change to the rendering state. The optimization of
// skipping renderer setup is aimed at the case of multiple glDraw* right after each other
if (GL.immediate.lastRenderer) GL.immediate.lastRenderer.cleanup();
- if (cap in ignoredCapabilities) return;
+ if (!(cap in validCapabilities)) return;
Module.ctx.enable(cap);
};
_glDisable = function(cap) {
if (GL.immediate.lastRenderer) GL.immediate.lastRenderer.cleanup();
- if (cap in ignoredCapabilities) return;
+ if (!(cap in validCapabilities)) return;
Module.ctx.disable(cap);
};