Skip to content

Commit

Permalink
make GL emulation automatically look for ARB-less names
Browse files Browse the repository at this point in the history
  • Loading branch information
kripken committed Apr 18, 2012
1 parent 5a706e2 commit 17ee266
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions src/library_gl.js
Expand Up @@ -984,12 +984,9 @@ var LibraryGL = {

procReplacements: {
'glCreateShaderObjectARB': 'glCreateShader',
'glShaderSourceARB': 'glShaderSource',
'glCompileShaderARB': 'glCompileShader',
'glCreateProgramObjectARB': 'glCreateProgram',
'glAttachObjectARB': 'glAttachShader',
'glLinkProgramARB': 'glLinkProgram',
'glActiveTextureARB': 'glActiveTexture'
'glUseProgramObjectARB': 'glUseProgram'
},

procs: {
Expand Down Expand Up @@ -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;
};
}
Expand Down

0 comments on commit 17ee266

Please sign in to comment.