diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-04-18 11:40:16 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-04-18 11:40:16 -0700 |
commit | 17ee2668caae1bdd71fefc069bbe10557b07648e (patch) | |
tree | f876f96458bebaabd46c88ce18e4b8d0e8e00977 | |
parent | 5a706e275488e2fadcaad4d2fead35ae4daacb5c (diff) |
make GL emulation automatically look for ARB-less names
-rw-r--r-- | src/library_gl.js | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index 22389cfb..af0505d5 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -984,12 +984,9 @@ var LibraryGL = { procReplacements: { 'glCreateShaderObjectARB': 'glCreateShader', - 'glShaderSourceARB': 'glShaderSource', - 'glCompileShaderARB': 'glCompileShader', 'glCreateProgramObjectARB': 'glCreateProgram', 'glAttachObjectARB': 'glAttachShader', - 'glLinkProgramARB': 'glLinkProgram', - 'glActiveTextureARB': 'glActiveTexture' + 'glUseProgramObjectARB': 'glUseProgram' }, procs: { @@ -1032,16 +1029,21 @@ var LibraryGL = { } }, - getProcAddress: function(name_) { - name_ = GLEmulation.procReplacements[name_] || name_; - var func = GLEmulation.procs[name_]; + getProcAddress: function(name) { + name = GLEmulation.procReplacements[name] || name; + var func = GLEmulation.procs[name]; if (!func) { try { - func = eval('_' + name_); // XXX closure, need Module. and for them to be exported + try { + func = eval('_' + name); // XXX closure, need Module. and for them to be exported + } catch(e) { + if (name.substr(-3) == 'ARB') name = name.substr(0, name.length-3); + func = eval('_' + name); // XXX closure, need Module. and for them to be exported + } } catch(e) { - console.log('WARNING: getProcAddress failed for ' + name_); + console.log('WARNING: getProcAddress failed for ' + name); func = function() { - console.log('WARNING: empty replacement for ' + name_ + ' called, no-op'); + console.log('WARNING: empty replacement for ' + name + ' called, no-op'); return 0; }; } |