aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library_gl.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 9928ab5d..86be9aa6 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -4,6 +4,7 @@
*/
var LibraryGL = {
+ $GL__postset: 'GL.init()',
$GL: {
#if GL_DEBUG
debug: true,
@@ -21,6 +22,10 @@ var LibraryGL = {
packAlignment: 4, // default alignment is 4 bytes
unpackAlignment: 4, // default alignment is 4 bytes
+ init: function() {
+ Browser.moduleContextCreatedCallbacks.push(GL.initCompression);
+ },
+
// Linear lookup in one of the tables (buffers, programs, etc.). TODO: consider using a weakmap to make this faster, if it matters
scan: function(table, object) {
for (var item in table) {
@@ -102,9 +107,9 @@ var LibraryGL = {
((height - 1) * alignedRowSize + plainRowSize);
},
- ensureCompression: function() {
- if (GL.ensureCompression.done) return;
- GL.ensureCompression.done = true;
+ initCompression: function() {
+ if (GL.initCompression.done) return;
+ GL.initCompression.done = true;
var ext = Module.ctx.getExtension('WEBGL_compressed_texture_s3tc') ||
Module.ctx.getExtension('MOZ_WEBGL_compressed_texture_s3tc') ||
@@ -284,7 +289,6 @@ var LibraryGL = {
},
glCompressedTexImage2D: function(target, level, internalformat, width, height, border, imageSize, data) {
- GL.ensureCompression();
if (data) {
data = {{{ makeHEAPView('U8', 'data', 'data+imageSize') }}};
} else {
@@ -294,7 +298,6 @@ var LibraryGL = {
},
glCompressedTexSubImage2D: function(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
- GL.ensureCompression();
if (data) {
data = {{{ makeHEAPView('U8', 'data', 'data+imageSize') }}};
} else {