Use Closure logging infrastructure for WebGL errors

This commit is contained in:
Tom Payne
2012-07-28 16:01:38 +02:00
parent b88c4f5888
commit 7144e7ad0b
+23 -10
View File
@@ -7,6 +7,7 @@
goog.provide('ol.webgl.Map'); goog.provide('ol.webgl.Map');
goog.provide('ol.webgl.map.shader'); goog.provide('ol.webgl.map.shader');
goog.require('goog.debug.Logger');
goog.require('goog.dispose'); goog.require('goog.dispose');
goog.require('goog.dom'); goog.require('goog.dom');
goog.require('goog.dom.TagName'); goog.require('goog.dom.TagName');
@@ -24,6 +25,14 @@ goog.require('ol.webgl.shader.Fragment');
goog.require('ol.webgl.shader.Vertex'); goog.require('ol.webgl.shader.Vertex');
if (goog.DEBUG) {
/**
* @type {goog.debug.Logger}
*/
ol.webgl.map.logger = goog.debug.Logger.getLogger('ol.webgl.map');
}
/** /**
* @constructor * @constructor
@@ -286,11 +295,13 @@ ol.webgl.Map.prototype.getProgram = function(
gl.attachShader(program, this.getShader(fragmentShaderObject)); gl.attachShader(program, this.getShader(fragmentShaderObject));
gl.attachShader(program, this.getShader(vertexShaderObject)); gl.attachShader(program, this.getShader(vertexShaderObject));
gl.linkProgram(program); gl.linkProgram(program);
if (!gl.getProgramParameter(program, goog.webgl.LINK_STATUS) && if (goog.DEBUG) {
!gl.isContextLost()) { if (!gl.getProgramParameter(program, goog.webgl.LINK_STATUS) &&
window.console.log(gl.getProgramInfoLog(program)); !gl.isContextLost()) {
goog.asserts.assert( ol.webgl.map.logger.severe(gl.getProgramInfoLog(program));
gl.getProgramParameter(program, goog.webgl.LINK_STATUS)); goog.asserts.assert(
gl.getProgramParameter(program, goog.webgl.LINK_STATUS));
}
} }
this.programCache_[key] = program; this.programCache_[key] = program;
return program; return program;
@@ -311,11 +322,13 @@ ol.webgl.Map.prototype.getShader = function(shaderObject) {
var shader = gl.createShader(shaderObject.getType()); var shader = gl.createShader(shaderObject.getType());
gl.shaderSource(shader, shaderObject.getSource()); gl.shaderSource(shader, shaderObject.getSource());
gl.compileShader(shader); gl.compileShader(shader);
if (!gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) && if (goog.DEBUG) {
!gl.isContextLost()) { if (!gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) &&
window.console.log(gl.getShaderInfoLog(shader)); !gl.isContextLost()) {
goog.asserts.assert( ol.webgl.map.logger.severe(gl.getShaderInfoLog(shader));
gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS)); goog.asserts.assert(
gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS));
}
} }
this.shaderCache_[key] = shader; this.shaderCache_[key] = shader;
return shader; return shader;