aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-18 11:40:16 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-18 11:40:16 -0700
commit17ee2668caae1bdd71fefc069bbe10557b07648e (patch)
treef876f96458bebaabd46c88ce18e4b8d0e8e00977
parent5a706e275488e2fadcaad4d2fead35ae4daacb5c (diff)
make GL emulation automatically look for ARB-less names
-rw-r--r--src/library_gl.js22
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;
};
}